2013-09-27 11 views
17

Ho una libreria composta da 4 barattoli:Come aggiungere i jar di terze parti al repository Maven locale?

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

Come posso aggiungerli al repository locale in modo che Maven sa dove le fonti sono e dove javadoc è?

La documentazione qui http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html è molto breve e non risponde a questa domanda.

+2

documentazione menzioni chiaramente come inserirlo, quale parte di esso non si capisce? –

risposta

5

I classificatori possono anche essere specificati sulla riga di comando. Vedi http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html#classifier.

Javadoc e le fonti sono solo artefatti con un classificatore dello stesso pom.

Ad esempio:

Installare il manufatto principale

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

Installare il javadoc utilizzando il javadoc classificatore:

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

Oggi ho riconosciuto che qualcuno ha votato la mia risposta, ma lui/lei non ha lasciato un commento. Sarebbe bello se fosse possibile aggiungere un commento, perché se c'è qualcosa di sbagliato vorrei correggerlo e anche imparare qualcosa per me stesso. –

+0

qual è lo scopo di groupid e artefatto? – Timeless

+0

@ Inutile lo scopo, qui https://maven.apache.org/guides/mini/guide-naming-conventions.html è quello di avere una migliore classificazione del progetto nel repository, tra gli altri progetti. Controlla anche questo. http://stackoverflow.com/questions/3150003/naming-convention-for-maven-artifacts e http://stackoverflow.com/a/12020832/1917237 – n3k0

23

La documentazione chiaramente indicato la via. Pensa a matlabcontrol-4.1.0.jar in C:> posizione. Quindi sposta il tuo cmd su C:> posizione ed esegui il seguente comando.

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

Se lo fai, è possibile accedere al file jar con la dipendenza, come:

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

qual è lo scopo di groupid e artifactid? – Timeless

+0

@Masud installo il jar usando la stessa procedura e posso vedere l'ultimo jar nel mio repository maven locale ma il nuovo jar non sta riflettendo nel progetto Maven ... puoi suggerirmi qualcosa – dom

+0

@Timeless Il groupId e artefactId sono ciò che maven utilizzare per trovare la libreria desiderata (ordinarla come il nome di una classe e il suo pacchetto, ma per jar). In parole povere, il groupdId identifica il progetto di cui l'artefatto fa parte. Quando importi un barattolo personalizzato, ne fai uno. È possibile utilizzare il sito Web dell'organizzazione, ad esempio com.mathwork.matlab, oppure è possibile utilizzare un nome di pacchetto Java all'interno del jar, ad esempio org.matlab.control. Qualunque cosa tu scelga non importa molto, purché sia ​​unico. –

Problemi correlati