我运行以下命令在我的本地存储库中安装自定义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.
答案 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