如何从Maven Central下载jar而不编写任何pom.xml

And*_*cia 34 java maven-2

我想要像下面这样的东西.

我只想要一个能够从Maven存储库下载jar及其依赖项的实用程序,而不对我的项目应该如何构建施加任何限制.

我想要这样的东西:

download-jar --dest=lib/ 'commons-io:commons-io:jar:1.4'
Run Code Online (Sandbox Code Playgroud)

它应该能够下载依赖项.

更新:

我不知道应该构建一个pom.xml.

我需要完成的唯一任务是下载罐子,我想有一个工具可以完成这项任务,不会给我带来超级信息.

有类似的东西?

Col*_*ert 50

如果要将maven依赖项下载到lib目录中,请使用带有该copy-dependencies函数的依赖项插件.

mvn -DoutputDirectory=./lib -DincludeArtifactIds=commons-logging,commons-io dependency:copy-dependencies 
Run Code Online (Sandbox Code Playgroud)

没有该-DincludeArtifactIds部分,您将下载每个依赖项.

如果您想在没有特定项目的情况下下载工件*请参阅下面**:

mvn -DgroupId=commons-io -DartifactId=commons-io -Dversion=1.4 dependency:get
Run Code Online (Sandbox Code Playgroud)

资源:

在同一主题上:

有趣的评论:

  • *@Pascal Thivent:

    无需设置POM,无需开发自己的工具,使用mvn依赖:get.这是这个问题的正确答案.

  • @Chris无需设置POM,无需开发自己的工具,使用`mvn dependency:get`. (9认同)
  • `dependency:get`很棒,但有没有办法将工件下载到特定目录中,而不是下载到本地Maven仓库? (6认同)
  • @Colin你需要2.1版的依赖插件.关注我的评论的[链接](http://stackoverflow.com/questions/1776496/a-simple-command-line-to-download-a-remote-maven2-artifact-to-the-local-repositor)这个问题. (2认同)

chb*_*own 16

-DrepoUrl在收到错误消息后,我还必须指定:

Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.1:get 
  (default-cli) on project standalone-pom: The parameters 'repositoryUrl' 
  for goal org.apache.maven.plugins:maven-dependency-plugin:2.1:get are 
  missing or invalid -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

所以这是我使用的命令:

mvn -DgroupId=edu.umd -DartifactId=cloud9 -Dversion=1.3.5 \
  -DrepoUrl="http://repo1.maven.org/maven2" dependency:get
Run Code Online (Sandbox Code Playgroud)

而且,-Ddest=~没有奏效.它始终坚持安装jar ~/.m2/repository.


Die*_*ino 6

Maven3默认使用依赖插件v2.1:

$ mvn dependency:get -DrepoUrl=http://download.java.net/maven/2/ \
   -DgroupId=commons-io -DartifactId=commons-io -Dversion=1.4
Run Code Online (Sandbox Code Playgroud)

使用Maven2仍然需要编写规范名称:

$ mvn2 org.apache.maven.plugins:maven-dependency-plugin:2.1:get \
   -DrepoUrl=http://download.java.net/maven/2/ \
   -DgroupId=commons-io -DartifactId=commons-io -Dversion=1.4
Run Code Online (Sandbox Code Playgroud)

使用参数artifact将工件的名称设置为group:artifact:version:

$ mvn dependency:get -DrepoUrl=http://download.java.net/maven/2/ \
   -Dartifact=commons-io:commons-io:1.4
Run Code Online (Sandbox Code Playgroud)

使用LATEST下载最新版本的神器:

$ mvn dependency:get -DrepoUrl=http://download.java.net/maven/2/ \
   -Dartifact=commons-io:commons-io:LATEST
Run Code Online (Sandbox Code Playgroud)