繁体   English   中英

Maven “版本”插件排除

[英]Maven "versions" plugin exclusion

我在显示/更新版本时尝试排除包但没有成功,但我不明白为什么。

我有一个项目:

<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.xml 文件。

我无法排除既不使用-DexcludesList也不用 <excludesList> 替换<excludesList> <excludes>部分。 我只能假设我在 group:artifact 中有一个错字,但我已经复制了很多次以避免这种情况。

除了在 .network 中设置规则集之外还有什么想法吗?

编辑:根据评论 effective-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>

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

问题陈述

如果我理解正确,您想从版本 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM