嗨,我正在使用一个maven版本插件规则文件来排除某些版本。
<?xml version="1.0" encoding="UTF-8"?>
<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">
<ignoreVersions>
<ignoreVersion type="regex">.*[aA]lpha.*</ignoreVersion> <!-- Ignore any version containing Alpha or alpha -->
<ignoreVersion type="regex">.*\..*\.SP.*</ignoreVersion> <!-- Ignore any version where the incremental value starts with SP e.g. 1.2.SP3 -->
<ignoreVersion type="regex">.*\..*\..*\..*</ignoreVersion> <!-- Ignore any version that has 4 parts, e.g. 12.0.3.1 -->
</ignoreVersions>
<rules>
<rule groupId="org.springframework.boot">
<ignoreVersions>
<ignoreVersion type="regex">2.6.*</ignoreVersion>
</ignoreVersions>
</rule>
<rule groupId="io.micrometer">
<ignoreVersions>
<ignoreVersion type="regex">1.8.*</ignoreVersion>
</ignoreVersions>
</rule>
<rule groupId="org.apache.tomcat.embed">
<ignoreVersions>
<ignoreVersion type="regex">10.*</ignoreVersion>
</ignoreVersions>
</rule>
<rule groupId="au.com.dius.pact.provider">
<ignoreVersions>
<ignoreVersion type="regex">4.3.*</ignoreVersion>
</ignoreVersions>
</rule>
<rule groupId="au.com.dius.pact.consumer">
<ignoreVersions>
<ignoreVersion type="regex">4.3.*</ignoreVersion>
</ignoreVersions>
</rule>
</rules>
</ruleset>
第3行试图排除任何包含4个部分的版本。遗憾的是,这个判决没有起作用。
有没有人破解过这个问题。
事先非常感谢
理查德
发布于 2022-02-08 15:41:27
Update:在本地运行mvn命令,我得到:
在项目上执行目标org.codehaus.mojo:versions-maven-plugin:2.8.1:use-latest-releases (默认-cli)失败: org.codehaus.mojo:versions-maven-plugin:2.8.1:use-latest-releases的执行默认-cli失败:无效段,1段版本:'11.5.7.0‘
版本号被设置为属性值,而不是硬编码在<dependency>标记中。将版本号放入<depenedency>标记中,reg就可以工作了。但是,如果您的项目有一个包含四个部分的传递依赖版本,那么regex将不适用于这些部分。遗憾的是,MVN dependency:tree没有揭示传递依赖的来源。
https://stackoverflow.com/questions/71018818
复制相似问题