Java 这是使用enforcer插件强制执行特定Spring版本的正确方法吗?
我希望使用的规则强制执行特定的Spring版本(3.1.2) 这是配置enforcer插件以实现这一目标的正确方法吗Java 这是使用enforcer插件强制执行特定Spring版本的正确方法吗?,java,maven,maven-plugin,maven-enforcer-plugin,Java,Maven,Maven Plugin,Maven Enforcer Plugin,我希望使用的规则强制执行特定的Spring版本(3.1.2) 这是配置enforcer插件以实现这一目标的正确方法吗 <configuration> <rules> <bannedDependencies> <searchTransitive>true</searchTransitive> <excludes> <e
<configuration>
<rules>
<bannedDependencies>
<searchTransitive>true</searchTransitive>
<excludes>
<exclude>org.springframework</exclude>
</excludes>
<includes>
<include>org.springframework:*:3.1.2</include>
</includes>
</bannedDependencies>
</rules>
<fail>true</fail>
<failFast>true</failFast>
<ignoreCache>true</ignoreCache>
</configuration>
由于
标记不理解groupId:artifactId:version:type
符号,上述问题中的bannedDependencies
片段不起作用。因此,不能使用通配符替换整个部分来传递包含组中所有工件的所有版本
但是,通过使用maven,可以强制执行特定的依赖关系
给定给定工件的以下版本(按发布顺序):
3.0.0
,3.0.1
,3.1.0
,3.2.0.发布
,3.3.0
假设我们想告诉enforcer插件排除除3.2.0之外的所有内容。发布
,那么唯一的方法是:
排除版本X,其中XDESIRED VERSION
上述情况实际上意味着:
排除所有版本X其中X!=所需版本
由于maven依赖项版本表示法不允许使用“not version”表示法,因此我们必须结合使用小于和大于表示法,如下所示:
(,3.2.0.RELEASE),(3.2.0.RELEASE),)
这意味着:version<'3.2.0.RELEASE'或version>'3.2.0.RELEASE'
最后,工作原理的一个片段如下:
<bannedDependencies>
<searchTransitive>true</searchTransitive>
<excludes>
<exclude>org.springframework:*:(,${spring.version}),(${spring.version},)</exclude>
</excludes>
</bannedDependencies>
符合事实的
org.springframework::(,${spring.version}),(${spring.version},)
由于
标记不理解groupId:artifactId:version:type
符号,上述问题中的banndedependencies
片段不起作用。因此,不能使用通配符替换整个部分来传递包含组中所有工件的所有版本
但是,通过使用maven,可以强制执行特定的依赖关系
给定给定工件的以下版本(按发布顺序):
3.0.0
,3.0.1
,3.1.0
,3.2.0.发布
,3.3.0
假设我们想告诉enforcer插件排除除3.2.0之外的所有内容。发布
,那么唯一的方法是:
排除版本X,其中XDESIRED VERSION
上述情况实际上意味着:
排除所有版本X其中X!=所需版本
由于maven依赖项版本表示法不允许使用“not version”表示法,因此我们必须结合使用小于和大于表示法,如下所示:
(,3.2.0.RELEASE),(3.2.0.RELEASE),)
这意味着:version<'3.2.0.RELEASE'或version>'3.2.0.RELEASE'
最后,工作原理的一个片段如下:
<bannedDependencies>
<searchTransitive>true</searchTransitive>
<excludes>
<exclude>org.springframework:*:(,${spring.version}),(${spring.version},)</exclude>
</excludes>
</bannedDependencies>
符合事实的
org.springframework::(,${spring.version}),(${spring.version},)
我真的不知道你希望听到什么?如果对你有用的话,我想没关系。我不认为你的使用有任何错误或权利。我想问题的关键是你必须排除和包括spring jar-是否有任何更干净的东西,比如限制到版本或其他东西,可以让它不那么冗长和容易出错(干巴巴的)?或者这是一个错误的插件,这些问题应该通过版本插件来解决?我真的不知道你期望听到什么?如果对你有用的话,我想没关系。我不认为你的使用有任何错误或权利。我想问题的关键是你必须排除和包括spring jar-是否有任何更干净的东西,比如限制到版本或其他东西,可以让它不那么冗长和容易出错(干巴巴的)?或者这可能是错误的插件,这些问题应该由版本插件解决?