java Maven“版本”插件排除

xe55xuns  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(167)

我尝试在显示/更新版本时排除软件包失败,我不知道为什么。
我有一个项目:

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

和版本在其他任何地方都没有提到。

t98cgbkg

t98cgbkg1#

问题陈述

如果我理解正确的话,您希望从Versions Maven插件的versions:display-dependencies-update Maven目标的考虑中排除一些依赖项。

简介

让我们将以下版本视为当前的Maven插件版本:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>versions-maven-plugin</artifactId>
    <version>2.14.2</version>
</plugin>

可能的解决方案

使用Maven目标的相应参数,这些参数自Maven插件的2.12.0版本起可用:

  • dependencyExcludes。来源。
  • dependencyManagementExcludes。来源。

下面是适用于您的案例的Maven插件配置草案示例:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>versions-maven-plugin</artifactId>
    <version>2.14.2</version>
    <configuration>
        <dependencyManagementExcludes>com.atlassian.confluence:confluence</dependencyManagementExcludes>
        <dependencyExcludes>com.atlassian.confluence:confluence</dependencyExcludes>
        <…>
    </configuration>
</plugin>

相关问题