有没有办法加速maven-dependency-plugin的copy操作仅下载指定artifact?
解决方案
你遇到的耗时问题来自两个默认行为:一是插件默认会下载目标构件的所有传递依赖,二是指定-f pom.xml时会额外解析当前本地项目的依赖树。仅下载指定构件可以调整命令参数实现:
最终可用命令
mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.1:copy -Dartifact=my-artifact:1.0-SNAPSHOT:tar -DoutputDirectory=/output-dir -Dtransitive=false
参数说明
- 新增
-Dtransitive=false:关闭传递依赖解析,仅下载你指定坐标的单个构件,不会拉取它依赖的其他资源 - 移除
-f pom.xml:不需要依赖本地项目的pom文件上下文,直接通过指定的构件坐标从配置的远程仓库拉取,避免解析当前项目的无关依赖,进一步缩短耗时
可选优化
如果需要进一步提速,可以临时指定仅从目标Nexus仓库拉取,避免轮询其他配置的公共仓库,命令补充参数-Dmaven.repo.remote=<你的Nexus仓库公共地址>即可。
内容的提问来源于stack exchange,提问作者user1472672
相关产品推荐
相关产品推荐

