我尝试使用maven依赖插件来获取特定版本范围内的工件。我需要在命令行(或脚本)中执行此操作
以下是我尝试的:
mvn dependency:get -Dartifact="junit:junit:[4.0,4.11)"
然而,这一范围显然没有得到承认。Maven尝试下载文本版本为 [4.0.0,4.11.0) 的工件时失败。
我想我使用了错误的语法和/或没有正确转义。
我怎样才能让maven * 获取 * 符合指定版本范围的最高版本工件?
错误消息:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:get (default-cli) on project standalone-pom: Couldn't download artifact: Missing:
[ERROR] ----------
[ERROR] 1) junit:junit:jar:[4.0,4.11)
3条答案
按热度按时间xxb16uws1#
此目标不支持版本范围:
https://issues.apache.org/jira/browse/MDEP-88
我得到:
所以范围不会被解析。
不知道有什么替代品可以做同样的事情:/
版本插件允许解析范围http://www.mojohaus.org/versions-maven-plugin/resolve-ranges-mojo.html,但只能在pom. xml中-需要创建一个假的pom. xml-使用此插件来解析版本,然后从创建的pom中获取-希望有更好的方法...
4ioopgfo2#
为了解决类似的问题
上面的工作,但你得到一个关于插件中缺少的版本的警告,所以这可能会在未来的Maven版本中出错-根据警告
1zmg4dgp3#
下面是一个使用maven-assembly-plugin的解决方法。它将带有版本范围的zip依赖项的内容解包到目录
super/parent
。pom.xml:
assembly.xml: