使用 mvn 版本排除属性:带有 exceptsList 的 update-properties

问题描述 投票:0回答:2

我正在使用

mvn versions:update-properties -DexcludesList=org.scalatest:scalatest*
来排除 pom.xml 中属性
scalatest.version
的更新:

<properties>
    <scalatest.version>3.0.5</scalatest.version>
</properties>

但是运行命令后

scalatest.version
更新为
3.3.0-SNAP2
版本,即最新

如何正确使用

-DexcludesList
参数?我遵循了文档

我发现的唯一解决方法是排除

SNAP2
中的
rules.xml
版本,如下所示:

<ruleset xmlns="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" comparisonMethod="maven" xsi:schemaLocation="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0 http://mojo.codehaus.org/versions-maven-plugin/xsd/rule-2.0.0.xsd">
    <ignoreVersions>
        <ignoreVersion type="regex">9.*</ignoreVersion>
        <ignoreVersion type="regex">6.1.*</ignoreVersion>
        <ignoreVersion type="regex">.*SNAP.*</ignoreVersion>
    </ignoreVersions>
    <rules>
    </rules>
</ruleset>

还有跑步

mvn versions:update-properties  -Dmaven.version.rules=file:////tmp/rules.xml -DexcludesList=org.scalatest:scalatest*

这样

scalatest
就更新为
3.2.2
。我想完全忽略
scalatest
版本的更新。

尝试了不同的变体:

-DexcludesList=org.scalatest:scalatest:*
-DexcludesList=org.scalatest:scalatest:*:*:*
,但无济于事。

使用

versions-maven-plugin
的2.1版本,更新到最新的
2.8.1
,仍然更新
scalatest

java maven maven-3 maven-versions-plugin scalatest-maven-plugin
2个回答
2
投票

解决方案是使用

-DexcludeProperties=scalatest.version
参数。

mvn versions:update-properties -DexcludeProperties=scalatest.version
达到了我所需要的。

文档


0
投票

甚至你也可以像下面这样使用它:

mvn versions:set -DnewVersion=1.1.0 -DexcludeProperties=project.version versions:commit
© www.soinside.com 2019 - 2024. All rights reserved.