如何以编程方式设置Maven依赖项版本?

时间:2018-02-21 11:25:53

标签: maven

让我们举个例子:

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.21</version>
    </dependency>
</dependencies>

我知道要将<version>设置为我选择的内容。

喜欢的东西 mvn dependency:set-version <groupId>:<artifactId> <version-number>

特别是对于slf4j,我可能想要: mvn dependency:set-version org.slf4j:slf4j-api 1.7.24

我知道我可以使用各种自动更新方法/插件来&#34; bump&#34;版本,但我不想要那个。我想设置一个特定的版本。该命令应该足够灵活,可以接受任何作为版本,或者至少它应该接受Maven当前无法检索的版本。

请注意,我还想避免将依赖项版本提取到我通过其他方式设置的属性中。

我没有找到任何涉及使用父POM的解决方案,或类似的东西。

简单地说,解决方案应该是一个mvn特定的命令,可以替换sed的简单强制依赖版本的发票。

1 个答案:

答案 0 :(得分:5)

您只需使用following command

即可
groupId:artifactId

包含内容如下:forceVersion但可以是这样的(引自文档):

  

要包含的工件模式列表。遵循模式   &#34;的groupId:artifactId的:类型:分类器:版本&#34;

与此相关的问题是,通过java -javaagent:jacocoagent.jar=destfile=integrationTest.exec -Xms256m -Xmx512m -jar myApp.jar 任何检查将被关闭以验证您为该工件提供的版本所提供的版本,因此请谨慎使用。