如何使用Maven简单地下载JAR?

时间:2011-08-18 15:37:10

标签: maven jar

如何在Maven脚本的构建过程中下载JAR?

12 个答案:

答案 0 :(得分:49)

Maven并不像那样工作。这是你最了解我的知识:

mvn dependency:get -DremoteRepositories=http://repo1.maven.org/maven2/ \
                   -DgroupId=junit -DartifactId=junit -Dversion=4.8.2 \
                   -Dtransitive=false

请注意,除传递之外的所有参数都是必需的 另请注意,Maven会将jar下载到您的本地存储库,并且没有明智的方法(我知道)将它复制到本地目录。

<强>参考:

答案 1 :(得分:35)

或者从3.1开始,就像 mvn dependency:get -Dartifact=org.springframework:spring-instrument:3.2.3.RELEASE

答案 2 :(得分:19)

注意:此答案适用于downloading the jars directly from maven without any scripts [这就是Google指示我的方式]

假设mvn依赖是这样的:

<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>2.4.7</version>
</dependency>

转到http://search.maven.org并搜索g:"com.zaxxer" AND a:"HikariCP" AND v:"2.4.7"(只需搜索HikariCP也有效。您可能需要从结果中选择相应的GroupIdVersion

Search Results -> Download列中,您应该看到jar javadoc.jar sources.jar可供直接下载

答案 3 :(得分:6)

How to use Maven pom to download jar files only。这对我来说非常好用。

我的用例是我想下载一些依赖jar以部署到QA服务器,并且手动执行(在Maven构建之外)。我不确定你的用例是什么。

答案 4 :(得分:5)

通常,您不会将Maven用于“仅下载”,而是用于构建过程。通常,您执行以下步骤:

  1. 通过定义项目的原型和一些所需的属性来定义新项目。
  2. 将您想要使用的库定义为依赖项。
  3. 使用mvn compile
  4. 运行Maven

    作为副作用,您已将库下载到本地Maven存储库。有许多插件可以用依赖关系来做某事,所以有例如看一下Maven Dependency plugin

答案 5 :(得分:4)

如果您只想从maven镜像下载一次JAR,我建议您可以手动执行此操作:

对于Maven 1:
http://mirrors.ibiblio.org/pub/mirrors/maven/

对于Maven 2:
http://mirrors.ibiblio.org/pub/mirrors/maven2/

这些是maven将从中获取JAR的存储库(无论如何都是镜像) - 您可以在您选择的Web浏览器中轻松访问它们并下载JAR等。只需浏览层次结构(它看起来像任何Java packag层次结构)直到你找到了人工制品,然后选择合适的版本并且你很好。

例如,来自 org.hibernate 组的 hibernate-core 版本 3.6.6.Final ,您可以在这里找到:

  
    

http://mirrors.ibiblio.org/pub/mirrors/maven2/org/hibernate/hibernate-core/3.6.6.Final/

  

答案 6 :(得分:3)

您可以设置pom.xml来定义依赖项(要复制的jar)。然后使用dependency:copy-dependencies目标将罐子复制到所需位置。

答案 7 :(得分:1)

您可以使用:

mvn dependency:copy -Dartifact=<group>:<artifact-name>:<version> -DoutputDirectory=/tmp/my_custom_dir

(用您的案件替换<values>

这是目标的完整文档:https://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html

注意:不推荐使用另一种“ dependecy:get”方式。

答案 8 :(得分:0)

转到http://mvnrepository.com。 搜索您要下载的工件,从结果列表中选择版本,然后只需下载该软件包。

答案 9 :(得分:0)

您可以将Jar包下载到特定目录。

mvn dependency:get -Dartifact=org.riversun:random-forest-codegen:1.0.0 -Ddest=./

答案 10 :(得分:0)

使用以下代码段

result = subprocess.check_output('mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get \
                                     -DgroupId=%s \
                                     -DartifactId=%s \
                                     -Dversion=%s \
                                     -Dtransitive=false \
                                     -DremoteRepositories={repos_string} \
                                     -Dpackaging=jar \
                                     -DoutputDirectory=%s' % (group_id,
                                                              artifact_id,
                                                              version_name,
                                                              des_path), shell=True)
    logger.info("success download jar: %s" % each_version)
except Exception as e:
    logger.error("Error in download jar : %s" % str(e))

答案 11 :(得分:0)

可以从Gitlab Maven专用存储库下载JAR。运行某些Maven命令时会显示URL,因此虽然有点黑,但对我有用。

赞:

wget --header "PRIVATE-TOKEN: ${GITLAB_PRIVATE_TOKEN}" "https://gitlab.com/api/v4/projects/${GITLAB_PROJECT_ID}/packages/maven/${MAVEN_PACKAGE_NAME}/${MAVEN_VERSION}/${JAR_FILE}"

在哪里

  • GITLAB_PRIVATE_TOKEN是具有正确“ api”的Gitlab令牌(其他atm不够)
    • GITLAB_PROJECT_ID,例如1462237
    • MAVEN_PACKAGE_NAME,例如com / bar / foo
    • MAVEN_VERSION,例如0.0.1
    • JAR_FILE,例如foo-0.0.1.jar