我使用以下命令在我的存储库中安装了一些第三方jar:
mvn install:install-file -Dfile=/home/anotherCoder/Downloads/nifty-1.0.jar -DgroupId=nifty-gui -DartifactId=nifty-gui -Dversion=1.0 -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)
但是,一旦我进行mvn编译,maven就会抱怨存储库中没有pom文件并尝试下载它,但不能导致它不会在任何远程存储库中发布.
以下是来自maven的确切消息:
Downloading: http://repo1.maven.org/maven2/nifty-gui/nifty-gui/1.0/nifty-gui-1.0.pom
[INFO] Unable to find resource 'nifty-gui:nifty-gui:pom:1.0' in repository central (http://repo1.maven.org/maven2)
Run Code Online (Sandbox Code Playgroud)
那么我如何让maven为该jar生成一个pom文件并将其放在我的本地存储库中?
Sin*_*hot 15
你告诉它!:-)
mvn install:install-file
-Dfile=/home/anotherCoder/Downloads/nifty-1.0.jar
-DgroupId=nifty-gui
-DartifactId=nifty-gui
-Dversion=1.0
-Dpackaging=jar
-DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)
(命令放在多行上,这样您就可以轻松查看最后一个参数.)
很好,对吧?将来您可以访问插件的文档,查看其目标,并可以看到它接受的所有参数.例如,安装文件目标.
编辑:
关于generatePom标志的默认行为问题,文档表明它默认为true,并且代码似乎支持这一点.但是,使用Maven 2.0.9和maven-install-plugin 2.2版(两个版本都略有过时),它不会生成POM.因此,可能增加版本将允许默认工作.
> touch DeleteMe.jar
> mvn install:install-file -DgroupId=Delete -DartifactId=Me -Dversion=0.0.0 -Dpackaging=jar -Dfile=DeleteMe.jar
...
[INFO] BUILD SUCCESSFUL
...
> ls ~/.m2/repository/Delete/Me/0.0.0/
Me-0.0.0.jar
Run Code Online (Sandbox Code Playgroud)
(没有生成的POM.)