2013-09-27 7 views
17

Ich habe eine Bibliothek von 4 Gläsern aus:Wie füge ich Jars von Drittanbietern in das lokale Maven-Repository ein?

matlabcontrol-4.1.0.jar 
matlabcontrol-4.1.0-javadoc.jar 
matlabcontrol-4.1.0-sources.jar 
matlabcontrol-demo-4.1.0.jar 

Wie kann ich fügen Sie sie in das lokale Repository, so dass Maven weiß, wo Quellen sind und wo javadoc ist?

Dokumentation hier http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html ist sehr kurz und beantwortet diese Frage nicht.

+2

Dokumentation deutlich erwähnt, wie es hinzuzufügen, die ein Teil davon das Sie nicht verstehen? –

Antwort

5

Klassifizierer können auch in der Befehlszeile angegeben werden. Siehe http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html#classifier.

Javadoc und Quellen sind nur Artefakte mit einem Klassifikator der gleichen Pom.

Zum Beispiel:

Installieren Sie das Haupt Artefakt

mvn install:install-file -Dfile=matlabcontrol-4.1.0.jar 
    -DgroupId=matlab -DartifactId=matlab -Dversion=4.1.0 

Installieren Sie den javadoc mit dem Klassifikator javadoc:

mvn install:install-file -Dfile=matlabcontrol-4.1.0.jar 
    -DgroupId=matlab -DartifactId=matlab -Dversion=4.1.0 -Dclassifier=javadoc 
+0

Heute habe ich erkannt, dass jemand meine Antwort abgelehnt hat, aber er/sie hat keinen Kommentar hinterlassen. Wäre schön, wenn ein Kommentar hinzugefügt werden könnte, denn wenn etwas nicht stimmt, möchte ich es korrigieren und auch etwas für mich selbst lernen. –

+0

Was ist der Zweck von Groupid und Artefadid? – Timeless

+0

@Timeless der Zweck, hier https://maven.apache.org/guides/mini/guide-naming-conventions.html ist eine bessere Klassifizierung Ihres Projekts im Repository, neben anderen Projekten. Überprüfen Sie dies auch. http://stackoverflow.com/questions/3150003/naming-convention-for-maven-artifacts und http://stackoverflow.com/a/12020832/1917237 – n3k0

23

Die Dokumentation deutlich die Art und Weise erwähnt. Denken Sie an Ihre Matlabcontrol-4.1.0.jar in C:> Ort. Also bewege deinen cmd auf C:> location und führe folgenden Befehl aus.

mvn install:install-file -Dfile=matlabcontrol-4.1.0.jar -DgroupId=org.matlabcontrol \ 
    -DartifactId=matlabcontrol -Dversion=4.1.0 -Dpackaging=jar 

Wenn Sie das tun, können Sie Ihre JAR-Datei zugreifen mit Abhängigkeit, wie:

<dependency> 
     <groupId>org.matlabcontrol</groupId> 
     <artifactId>matlabcontrol</artifactId> 
     <version>4.1.0</version> 
</dependency> 
+1

Was ist der Zweck der Groupid und Artefaktid? – Timeless

+0

@Masud Ich installiere das Glas mit dem gleichen Verfahren und ich kann das neueste Glas in meinem lokalen Maven-Repository sehen, aber neues Glas spiegelt sich nicht in Maven-Projekt ... können Sie mir etwas vorschlagen – dom

+0

@Timeless Die GroupId und artefactId sind was Maven Verwenden Sie, um die gewünschte Bibliothek zu finden (Sortieren Sie sie nach dem Namen einer Klasse und ihrem Paket, aber nach jar). Grob gesagt, identifiziert die Gruppe das Projekt, zu dem das Artefakt gehört. Wenn Sie ein benutzerdefiniertes JAR importieren, erstellen Sie eins. Sie können die Website der Organisation verwenden, z. B. com.mathwork.matlab, oder Sie können einen Java-Paketnamen in jar wie org.matlab.control verwenden. Was auch immer Sie wählen, spielt keine große Rolle, solange es einzigartig ist. –

Verwandte Themen