我尝试在显示/更新版本时排除软件包失败,我不知道为什么。
我有一个项目:
<groupId>my.group</groupId>
<artifactId>parent-pom</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
它在pluginManagement部分声明:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<excludes>
<exclude>com.atlassian.confluence:confluence:*</exclude>
</excludes>
<generateBackupPoms>false</generateBackupPoms>
<allowSnapshots>false</allowSnapshots>
</configuration>
</plugin>
第二个插件将上述插件作为父插件:
<parent>
<groupId>my.group</groupId>
<artifactId>parent-pom</artifactId>
<version>1.0</version>
</parent>
但是当我调用mvn versions:display-dependencies-update
时,它仍然报告:
com.atlassian.confluence:confluence ..... 5.10.1 -> 6.0.0-viqueen-m001
如果我在配置中使用规则集,我会收到文件未找到的错误(因为它位于父POM文件夹中),并且无法复制/共享,原因是父文件夹具有打包POM。
我无法排除使用-DexcludesList
或将<excludes>
部分替换为<excludesList>
。我只能假设我在组中有一个错别字:artifact,但我已经复制了很多次以避免这种情况。
除了在网络中设置规则之外,还有什么想法吗?
编辑:根据备注生效日期-pom为:
<pluginManagement>
.
.
.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<includes>
<include>my.group</include>
</includes>
<excludes>
<exclude>com.atlassian.confluence:confluence:*</exclude>
</excludes>
<generateBackupPoms>false</generateBackupPoms>
<allowSnapshots>false</allowSnapshots>
</configuration>
</plugin>
</pluginManagement>
和版本在其他任何地方都没有提到。
1条答案
按热度按时间t98cgbkg1#
问题陈述
如果我理解正确的话,您希望从Versions Maven插件的
versions:display-dependencies-update
Maven目标的考虑中排除一些依赖项。简介
让我们将以下版本视为当前的Maven插件版本:
可能的解决方案
使用Maven目标的相应参数,这些参数自Maven插件的
2.12.0
版本起可用:dependencyExcludes
。来源。dependencyManagementExcludes
。来源。下面是适用于您的案例的Maven插件配置草案示例: