我有一个非常简单的要求,就像下面这样-
1.我需要写一个命令行工具,它将接受-groupId,artifactId和版本
1.然后,它将从maven下载该依赖项的源代码文件
1.例如,如果groupId = log4j,artifactId = log4j,version = 1.2.9,则会下载log4j-1.2.9-sources.jar
到目前为止,我已经做了以下分析/尝试,但我没有得到任何运气。有人可以帮助我吗?
1.使用maven dependency:copy
插件如下-mvn Dclassifier=sources dependency:copy -Dartifact=log4j:log4j:1.2.8
1.上面的命令不下载源代码,而只下载工件文件(即使包含Dclassifier=sources)
3.还尝试了-mvn dependency:sources -Dartifact=log4j -DgroupId=log4j -Dversion=1.2.9
。这需要maven命令执行目录中的pom.xml,这不是一个可行的选项,因为这需要动态生成pom.xml。
请帮助如果任何人有任何线索如何实现它?
1条答案
按热度按时间yc0p9oo01#
因此,首先根据您的给定尝试,它可能不工作,因为那些给定的参数(通过
mvn Dclassifier=sources dependency:copy -Dartifact=log4j:log4j:1.2.8
定义)根本不存在。请查看goalcopy
的文档。你可以做的是设置一个简单的pom文件,看起来像这样:
字符串
通过使用上面的命令,你现在可以像这样调用命令行:
型
这将下载给定的工件并存储到
<outputDirectory>${project.build.directory}</outputDirectory>
定义的位置