2013-09-27 136 views
17

我有一個圖書館組成的4瓶:如何將第三方jar添加到本地Maven存儲庫?

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

如何將它們添加到本地資源庫,這樣的Maven知道在哪裏來源是哪裏的javadoc是什麼?

此處的文檔http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html非常簡短,不回答此問題。

+2

文檔明確提及如何將它,哪一部分你不明白嗎? –

回答

5

也可以在命令行中指定分類器。見http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html#classifier

Javadoc和源代碼只是具有相同pom的分類器的工件。

例如:

安裝主僞影

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

使用分類器的Javadoc安裝的Javadoc:

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

今天我意識到有人投我的答案,但他/她沒有留下評論。如果可以添加評論,會很好,因爲如果有什麼問題,我想糾正它,也爲我自己學習一些東西。 –

+0

groupid和artifactid的用途是什麼? – Timeless

+0

@Timeless目的,在這裏https://maven.apache.org/guides/mini/guide-naming-conventions.html是要在存儲庫,以及其他項目中有一個更好的分類你的項目。也檢查這一點。 http://stackoverflow.com/questions/3150003/naming-convention-for-maven-artifacts和http://stackoverflow.com/a/12020832/1917237 – n3k0

23

的文檔明確提到的方式。在C:>位置思考你的matlabcontrol-4.1.0.jar。因此,移動您的cmd在C:>位置並運行以下命令。

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

如果你這樣做,你可以訪問你的jar文件有依賴性,如:

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

groupid和artifactid的目的是什麼? – Timeless

+0

@Masud我使用相同的程序安裝jar,我可以在我的本地maven倉庫中看到最新的jar,但是新的jar並沒有反映在maven項目中...你能向我推薦一些 – dom

+0

@Timeless groupId和artefactId是maven用來找到你想要的庫(它的排序類似於一個類和它的包的名稱,但是對於jar)。粗略地說,groupdId標識了人造物的一部分。導入一個自定義的jar時,你創建一個。您可以使用組織的網站,例如com.mathwork.matlab,或者您可以在jar中使用Java包名稱,如org.matlab.control。無論你選擇什麼都不重要,只要它獨一無二。 –

相關問題