2013-09-27 138 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。无论你选择什么都不重要,只要它独一无二。 –

相关问题