org.apache.ant:ant-launcher:1.8.2 的依赖收敛错误

Dependency convergence error for org.apache.ant:ant-launcher:1.8.2

当我尝试构建应用程序时出现以下错误,因为我是 Maven 的新手,我并不完全了解导致构建失败的问题。

以下是构建失败时打印的日志消息:

[WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for org.apache.ant:ant-launcher:1.8.2 paths to dependency are:
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-org.apache.ant:ant:1.8.2
      +-org.apache.ant:ant-launcher:1.8.2
and
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-org.apache.ant:ant-launcher:1.9.4
and
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-abcd:9.5.0-10.0.0-20190918.213740-11
    +-org.apache.ant:ant-launcher:1.9.4
,
Dependency convergence error for com.google.guava:guava:r09 paths to dependency are:
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-com.googlecode.ehcache-spring-annotations:ehcache-spring-annotations:1.2.0
      +-com.google.guava:guava:r09
and
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-com.google.guava:guava:18.0
,
Dependency convergence error for org.owasp.antisamy:antisamy:1.5.3 paths to dependency are:
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-org.owasp.esapi:esapi:2.1.0.1
      +-org.owasp.antisamy:antisamy:1.5.3
and
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-org.owasp.antisamy:antisamy:1.5.8
,
Dependency convergence error for org.apache.httpcomponents:httpcore:4.4.4 paths to dependency are:
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-org.apache.httpcomponents:httpclient:4.5.2
      +-org.apache.httpcomponents:httpcore:4.4.4
and
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-org.apache.httpcomponents:httpcore:4.4.5
,
Dependency convergence error for xml-apis:xml-apis:1.3.03 paths to dependency are:
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-com.io7m.xom:xom:1.2.10
      +-xml-apis:xml-apis:1.3.03
and
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-xerces:xercesImpl:2.9.1
      +-xml-apis:xml-apis:1.3.04
and
+-com.srik.prjt.all:abcd:1.1.0-10.0.0-SNAPSHOT
  +-com.srik.prjt.src:cug-core:9.5.0-10.0.0-20190918.213714-17
    +-xalan:xalan:2.7.0
      +-xml-apis:xml-apis:1.0.b2
]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.163 s
[INFO] Finished at: 2019-09-19T15:40:00+05:30
[INFO] Final Memory: 18M/156M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (enforce-dependency-convergence) on project abcd: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

如果需要任何其他详细信息,请告诉我。

使用的 Ant 版本:apache-ant-1.10.3

使用的 Maven 版本:apache-maven-3.2.1

在构建失败的子 Pom 上执行的编辑:

之间的依赖管理标签是:

<dependency>
    <groupId>com.srik.prjt.src</groupId>
    <artifactId>cug-core</artifactId>
    <version>${project.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant-launcher</artifactId>
        </exclusion>
    </exclusions>
    <scope>${framework.scope}</scope>
</dependency>
<dependency>
    <groupId>com.srik.prjt.src</groupId>
    <artifactId>cug-abcd</artifactId>
    <version>${project.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant-launcher</artifactId>
        </exclusion>
    </exclusions>
</dependency>

您(或您的父 POM)激活了 dependeny convergence enforcer 规则。如果您的传递依赖树中有同一工件的不同版本,则此规则会导致构建失败。

要么停用执行器规则,要么通过向 POM 的 <dependencyManagement> 部分添加适当的条目来解决收敛问题(对于具有不同条目的工件)。