【问题标题】:Exclude release candidates in Versions Maven Plugin在版本 Maven 插件中排除候选版本
【发布时间】:2018-04-05 08:27:17
【问题描述】:
如何配置版本 Maven 插件以排除某些依赖项的候选版本?
相关依赖的版本具有以下格式:
\d+\.\d+\.\d+\.\d+(-rc\d+)? OR <major>.<minor>.<sub>.<incremental>(-rc<number>)
例如4.6.5.2 或 4.6.7.0-rc10。因此,候选版本仅通过其附加后缀来区分。没有单独的 Maven 存储库等。
我在 2.5 版中使用 org.codehaus.mojo:versions-maven-plugin。
【问题讨论】:
标签:
maven
maven-3
versioning
versions-maven-plugin
release-candidate
【解决方案1】:
用
更新 pom.xml
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.5</version>
<configuration>
<rulesUri>file://${session.executionRootDirectory}/version-rules.xml</rulesUri>
</configuration>
</plugin>
</plugins>
</build>
并在version-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 https://mojo.codehaus.org/versions-maven-plugin/xsd/rule-2.0.0.xsd">
<rules>
<rule groupId="com.example">
<ignoreVersions>
<ignoreVersion type="regex">(\d+\.\d+\.\d+\.\d+)-(rc\d+)
</ignoreVersion>
</ignoreVersions>
</rule>
</rules>
</ruleset>
可以按 groupId 定义规则,如上所示,也可以全局定义,如果你放了
<ignoreVersions>
<ignoreVersion type="regex">(\d+\.\d+\.\d+\.\d+)-(rc\d+)</ignoreVersion>
</ignoreVersions>
在规则集元素下。