我运行以下命令在本地存储库中安装一个定制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条答案
按热度按时间gcmastyq1#
您还必须提供这些信息(groupId、artifactId、打包、版本)。
有关详细信息,请查看here
6vl6ewon2#
这应该可以。
yhqotfr83#
大家好,我想再提一件事,当我解压缩maven创建的jar文件,并在一个单独的位置复制POM.xml文件,并通过引用它来安装jar文件时,它工作得很好,但我不知道为什么我的第一个命令不起作用!
顺便说一句,显然mvn安装,也工作得很好,并安装jar文件到我的本地存储库。
z18hc3ub4#
我认为这个错误说明了一切。你甚至不需要绞尽脑汁就能从中得到信息。这是一个相关的错误,而且直奔主题。
参考:http://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/
对于
mvn install
命令,您需要提供groupID、artifactId、packaging和version。请检查您的pom以获取这些信息,您是根据这些信息构建jar的。示例命令:
mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion={version} -Dpackaging=jar
个w9apscun5#
我只是遇到了同样的问题,这是由于一个损坏的jar文件,如评论中所建议的。我只是替换了它,命令工作,没有任何额外的开关groupid,打包等(因为它已经是一个maven jar)。
结果发现,这个jar文件是被从Windows推送到git repo,然后拉到Linux的盒子上而损坏的。解决方案是告诉get jar文件是二进制文件,它不转换行尾--请看这里:Jar file gets corrupted after pushing to github