将maven创建的jar文件安装到本地仓库

时间:2014-05-02 05:57:11

标签: java maven

我运行以下命令在我的本地存储库中安装自定义jar:

mvn org.apache.maven.plugins:maven-install-plugin:2.5.1:install-file -Dfile=<path-to-file>

但是当我尝试这个时:

mvn install:install-file -Dfile=E:\jarFiles\utill-1.0.jar -DlocalRepositoryPath=E:\repo

它给了我以下错误:

The artifact information is incomplete or not valid:
[ERROR] [0]  'groupId' is missing.
[ERROR] [1]  'artifactId' is missin
[ERROR] [2]  'packaging' is missing
[ERROR] [3]  'version' is missing.

5 个答案:

答案 0 :(得分:7)

您还必须提供这些信息(groupId,artifactId,包装,版本)。

mvn install:install-file  -Dfile=path-to-your-artifact-jar \
                          -DgroupId=your.groupId \
                          -DartifactId=your-artifactId \
                          -Dversion=version \
                          -Dpackaging=jar \
                          -DgeneratePom=true

查看here了解详情

答案 1 :(得分:5)

这应该有用。

mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=<path-to-file>

答案 2 :(得分:1)

大家好我想提一下,当我解压缩maven创建的jar文件并将POM.xml文件复制到一个单独的位置并通过引用它来安装jar文件。它运作良好,但我不知道为什么我的第一个命令din`t工作! 这是有效的命令;

  mvn install:install-file -Dfile=E:\jarFiles\utill-1.0.jar -DpomFile=E:\jarFiles\pom.xml -DloaclRepositoryPath=E:\repo 
显然mvn install的方式也正常,并且可以将jar文件安装到我的本地存储库。

答案 3 :(得分:0)

我认为错误说明了一切。你甚至不必抓挠你的大脑来获取信息。这是一个相关的错误,直截了当。

参见: http://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/

使用mvn install命令,您需要提供groupID,artifactId,打包和版本。检查你的pom以获取你制造罐子的信息..

示例命令:

mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion={version} -Dpackaging=jar

答案 4 :(得分:0)

我只是遇到了同样的问题,这是由于注释中建议的jar文件损坏所致。我只是替换了它,该命令在没有任何其他开关的情况下进行了工作,如groupid,package等(因为它已经是一个Maven jar)。

事实证明,将jar从Windows推送到git repo,然后拉到Linux机器上,损坏了jar。解决方案是告诉jar是二进制文件,它没有转换行尾-参见此处:Jar file gets corrupted after pushing to github