如何将第三方jar添加到本地Maven存储库?

Suz*_*ioc 17 java jar maven

我有一个由4个罐子组成的图书馆:

matlabcontrol-4.1.0.jar
matlabcontrol-4.1.0-javadoc.jar
matlabcontrol-4.1.0-sources.jar
matlabcontrol-demo-4.1.0.jar
Run Code Online (Sandbox Code Playgroud)

如何将它们添加到本地存储库,以便Maven知道源的位置和javadoc的位置?

这里的文档http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html非常简短,并没有回答这个问题.

Mas*_*dul 30

文件清楚地提到了方法.在C:> location中考虑你的matlabcontrol-4.1.0.jar.因此,在C:>位置移动cmd并运行以下命令.

mvn install:install-file -Dfile=matlabcontrol-4.1.0.jar -DgroupId=org.matlabcontrol \
    -DartifactId=matlabcontrol -Dversion=4.1.0 -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)

如果这样做,您可以访问具有依赖关系的jar文件,例如:

 <dependency>
        <groupId>org.matlabcontrol</groupId>
        <artifactId>matlabcontrol</artifactId>
        <version>4.1.0</version>
 </dependency>
Run Code Online (Sandbox Code Playgroud)


Ren*_*ink 6

也可以在命令行中指定分类器.请参阅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
Run Code Online (Sandbox Code Playgroud)

使用分类器javadoc安装javadoc:

 mvn install:install-file -Dfile=matlabcontrol-4.1.0.jar 
   -DgroupId=matlab -DartifactId=matlab -Dversion=4.1.0 -Dclassifier=javadoc
Run Code Online (Sandbox Code Playgroud)