如何以编程方式设置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

我知道我可以使用各种自动上的方法/插件来"颠簸"该版本,但我不想要。我想设置一个特定版本。该命令应足够灵活,以接受作为一个版本,或者至少应该接受Maven当前无法检索的版本。

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

我不是在寻找任何涉及父型POM或类似内容的解决方案。

简单地说,该解决方案应为mvn特定命令,例如,将sed的发票简单强制强制依赖性版本。

您可以简单地使用以下命令:

mvn versions:use-dep-version -Dincludes=junit:junit -DdepVersion=1.0 -DforceVersion=true

in include是这样的: groupId:artifactId,但可以是这样的(文档引用(:

包含的工件模式列表。遵循模式 " groupId:artifactid:类型:分类器:版本"。

与此相关的问题是,通过forceVersion,将关闭的任何支票以验证您提供给版本的版本,该版本可用于工件,因此请注意。

最新更新