一个简单的命令行来将远程maven2工件下载到本地存储库?

我有一个使用maven 2发布的库。这个库的典型用户不使用maven来构build他们的应用程序,但可能对maven有些熟悉,可能已经安装了。

我想logging一个“简单”的一行命令,他们可以使用它来下载我的库的工件到他们的本地~/.m2/repository而不需要他们设置一个pom.xml来完成它。

我以为有一种方法可以做到这一点,但我看起来似乎无法通过install:install-filedependency插件文档。 我尝试了这样的事情:

 mvn install:install-file -DrepositoryId=java.net -Durl=http://download.java.net/maven/2/ -Dfile=robo-guice-0.4-20091121.174618-1.jar -DpomFile=robo-guice-0.4-20091121.174618-1.pom -DgroupId=robo-guice -DartifactId=robo-guice -Dversion=0.4-SNAPSHOT -Dpackaging=jar 

但我想我吠叫了错误的树,因为看起来安装插件是用来将本地构build的文件复制到本地存储库,而不是将远程工件下载到本地存储库。

这是我想要安装的工件: http : //download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/

这可能使用maven吗?

从Maven Dependency Plugin 2.1版本开始,就有一个依赖:为此目的获取目标。 为确保您使用的是正确版本的插件,您需要使用“完全限定名称”:

 mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get \
     -DrepoUrl = http://download.java.net/maven/2/ \
     -Dartifact = ROBO-吉斯:ROBO-吉斯:0.4-SNAPSHOT

给他们一个简单的POM与这些瓶子列为依赖和指示运行:

 mvn dependency:go-offline 

这将拉动依赖到本地回购。

更直接的解决scheme是依赖:get ,但是键入的参数很多:

 mvn dependency:get -DrepoUrl=something -Dartifact=group:artifact:version 

从Maven Dependency Plugin 2.4版开始,您也可以使用-Ddest标志来定义工件的目标目标。 它应该指向目标工件的文件名(而不是目录)。 请参阅参数页面以了解可以使用的其他参数

 mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \ -DremoteRepositories=http://download.java.net/maven/2 \ -Dartifact=robo-guice:robo-guice:0.4-SNAPSHOT \ -Ddest=c:\temp\robo-guice.jar