Sagt mir eine pom.xml.template alles, was ich wissen muss, um das Projekt als Abhängigkeit zu verwenden?
-
05-07-2019 - |
Frage
Ich versuche, den Lucene Sandbox -Beitrag namens hinzuzufügen Term-Highlighter zu meinem pom.xml. Ich bin mit Maven nicht wirklich so vertraut, aber der Code hat einen pom.xml.template Das scheint zu implizieren, wenn ich eine Abhängigkeit hinzufüge, die aussieht:
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-highlighter</artifactId>
</dependency>
Es könnte klappen. Kann mir jemand helfen, meiner POM.xml-Datei ein Lucene-Community-Projekt hinzuzufügen?
Vielen Dank für die Kommentare, es stellt sich heraus, dass das Hinzufügen der Version alles war, was ich brauchte, und ich habe nur vermutet, dass es mit der Lucene-Core-Version übereinstimmt, die ich verwendete.
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-highlighter</artifactId>
<version>2.3.1</version>
</dependency>
Lösung
Sie müssen die Versionsnummer hinzufügen, aber Sie müssen sie nur einmal in einer Projektstruktur tun. Das heißt, wenn die Versionsnummer in einem übergeordneten POM definiert ist, müssen Sie die Versionsnummer nicht erneut angeben. (In diesem Fall müssen Sie jedoch nicht einmal die Abhängigkeit bereitstellen, da die Abhängigkeit sowieso geerbt wird.)
Andere Tipps
Sie haben es richtig, aber Sie möchten wahrscheinlich auch die Version hinzufügen:
Aus dem 5 -minütigen Tutorial von Maven
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>