我有一个库,我使用maven 2分发 . 这个库的典型用户不使用maven来构建他们的应用程序,但可能有点熟悉maven并且可能安装了它 .
我'd like to document a 938762 one line command they can use to download my library'的工件到他们的本地 ~/.m2/repository
而不要求他们设置一个pom.xml来做它 .
我认为有一种方法可以做到这一点,但在查看了 install:install-file
和 dependency
插件文档后,我似乎无法找到它 . 我尝试过这样的事情:
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
但我认为我正在咆哮错误的树,因为看起来安装插件用于将本地构建的文件复制到本地存储库,而不是将远程工件下载到本地存储库 .
这是我要安装的工件:http://download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/
这可能使用maven吗?
3 回答
从Maven Dependency Plugin的2.1版开始,为此目的有一个dependency:get目标 . 要确保使用正确版本的插件,您需要使用"fully qualified name":
给他们一个微不足道的pom,将这些jar列为依赖项和运行说明:
这会将依赖项拉到本地仓库 .
更直接的解决方案是dependency:get,但输入的参数很多:
从Maven Dependency Plugin的2.4版本开始,您还可以使用-Ddest标志为工件定义目标目标 . 它应该指向目标工件的文件名(而不是目录) . 有关可以使用的其他参数,请参阅parameter page