Antworten:
Sie müssen dies in zwei Schritten tun:
Wenn Sie kein internes Repository haben und nur versuchen, Ihre JAR zu Ihrem lokalen Repository hinzuzufügen, können Sie sie wie folgt installieren, indem Sie eine beliebige groupId / artefaktIds verwenden:
mvn install:install-file -DgroupId=com.stackoverflow... -DartifactId=yourartifactid... -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/jarfile
Sie können es auch in Ihrem internen Repository bereitstellen, wenn Sie eines haben, und dies anderen Entwicklern in Ihrer Organisation zur Verfügung stellen. Ich verwende nur die webbasierte Oberfläche meines Repositorys, um Artefakte hinzuzufügen, aber Sie sollten in der Lage sein, dasselbe mit zu erreichen mvn deploy:deploy-file ...
.
Aktualisieren Sie dann die Abhängigkeit in der Datei pom.xml der Projekte, die die JAR verwenden, indem Sie dem Element Folgendes hinzufügen:
<dependencies>
...
<dependency>
<groupId>com.stackoverflow...</groupId>
<artifactId>artifactId...</artifactId>
<version>1.0</version>
</dependency>
...
</dependencies>
Sie können auch eine Abhängigkeit angeben, die sich nicht in einem Maven-Repository befindet. Kann nützlich sein, wenn kein zentrales Maven-Repository für Ihr Team vorhanden ist oder wenn Sie einen CI- Server haben
<dependency>
<groupId>com.stackoverflow</groupId>
<artifactId>commons-utils</artifactId>
<version>1.3</version>
<scope>system</scope>
<systemPath>${basedir}/lib/commons-utils.jar</systemPath>
</dependency>
Bei der Untersuchung denke ich, dass all diese Antworten falsch sind. Ihre Frage ist aufgrund unseres Verständnisses von irreführend maven
. Und ich sage unser, weil ich gerade erst vorgestellt werdemaven
.
In Eclipse
, wenn Sie eine JAR - Datei zu einem Projekt hinzugefügt werden soll, normalerweise Sie das Glas manuell herunterladen und dann fallen in das lib - Verzeichnis. Mit Maven machst du das nicht so. Folgendes tun Sie:
dependency
Anweisung in Ihrepom.xml
mvn
Jetzt maven
wird die Verbindung jar
zusammen mit der Liste der Abhängigkeiten hergestellt und heruntergeladen , und alle zusätzlichen Abhängigkeiten, die jar
möglicherweise vorhanden waren , werden automatisch aufgelöst . Wenn also jar
auch die Commons-Logging benötigt wird, wird diese ebenfalls heruntergeladen.
Ich würde das tun:
füge die Abhängigkeit hinzu, wie du willst in deinem Pom:
<dependency>
<groupId>com.stackoverflow...</groupId>
<artifactId>artifactId...</artifactId>
<version>1.0</version>
</dependency>
Wenn mvn install
Sie es ausführen , wird versucht, das Glas herunterzuladen, und es schlägt fehl. Während des Vorgangs erhalten Sie den vollständigen Befehl zum Installieren des JAR mit der Fehlermeldung. Kopieren Sie diesen Befehl und führen Sie ihn aus! einfach huh?!
Ich gehe davon aus, dass Sie fragen, wie Sie eine Abhängigkeit in ein "bekanntes Repository" verschieben können, und nicht nur, wie Sie Ihr POM aktualisieren.
Wenn ja, dann das hier ist , was Sie lesen wollen.
Wenn Sie einen internen Repository-Server einrichten möchten, klicken Sie hier (die Hälfte des Problems bei der Verwendung von Maven 2 besteht darin, die Dokumente zu finden).