maven - 在版本 Maven 插件中排除候选版本

标签 maven maven-3 versioning versions-maven-plugin release-candidate

如何配置版本 Maven 插件以排除某些依赖项的候选版本? 相关依赖项的版本具有以下格式:

\d+\.\d+\.\d+\.\d+(-rc\d+)? OR <major>.<minor>.<sub>.<incremental>(-rc<number>)

例如4.6.5.24.6.7.0-rc10。因此候选版本只能通过附加后缀来区分。没有单独的 Maven 存储库等。


我在版本 2.5 中使用 org.codehaus.mojo:versions-maven-plugin。

最佳答案

更新 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>

在规则集元素下。

关于maven - 在版本 Maven 插件中排除候选版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46912241/

相关文章:

maven 按属性值和版本激活

php - 在 PHP 页面中嵌入 svn 修订号的简单方法?

build - [MSBuild]::Add 调用返回错误 MSB4186

maven:远程开发下线后上线

java - eclipse |马文 : Multiple annotations found at this line

android - Dexguard 与 Maven 和 Android Studio 不工作

java - Maven 配置文件属性不是 "overriding"

.net - 更新 .NET 项目引用(在配置文件中)

java - 自定义 Maven 原型(prototype)不会生成 archtype.xml 中定义的源

jsp - Maven 编译/安装更改 JSP 内容