如何在Maven脚本的构建过程中下载JAR?
答案 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
也有效。您可能需要从结果中选择相应的GroupId
和Version
)
在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用于“仅下载”,而是用于构建过程。通常,您执行以下步骤:
mvn compile
作为副作用,您已将库下载到本地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}"
在哪里