【问题标题】:How do I fix 'BanDuplicateClasses failed' in maven project如何修复 Maven 项目中的“BanDuplicateClasses failed”
【发布时间】:2019-05-09 16:29:22
【问题描述】:

我正在尝试使用 bioformats 构建一个基本的 imagej 插件,以使我能够打开 czi 文件等。但是,当我添加 bioformats 依赖项时,maven 插件 BanDuplicateClasses 失败。 这些是我的 pom 文件中的依赖项

<dependencies>
    <dependency>
        <groupId>net.imagej</groupId>
        <artifactId>imagej</artifactId>
    </dependency>
    <dependency>
        <groupId>ome</groupId>
        <artifactId>bio-formats_plugins</artifactId>
        <version>6.1.0-m1</version>
    </dependency> 
</dependencies>

而导致问题的maven插件似乎起源于父pom文件

<parent>
    <groupId>org.scijava</groupId>
    <artifactId>pom-scijava</artifactId>
    <version>26.0.0</version>
    <relativePath />
</parent>

这是我尝试打包时抛出的错误

[WARNING] Rule 3: org.apache.maven.plugins.enforcer.BanDuplicateClasses failed with message:No Duplicate Classes Allowed!
- For duplicate transitive dependencies, add dependency exclusions.
- For duplications between direct dependencies, resolve or add ignored classes to this rule's configuration.
Found in:
    commons-io:commons-io:jar:2.6:runtime
    ch.systems.cisd:jhdf5:jar:14.12.0:compile
Duplicate classes:
    org/apache/commons/io/FileCleaningTracker.class
    org/apache/commons/io/comparator/SizeFileComparator.class
    org/apache/commons/io/output/ProxyWriter.class
    org/apache/commons/io/input/CloseShieldInputStream.class
    org/apache/commons/io/FileCleaningTracker$Tracker.class
    ..........

我尝试使用

从 bioformats 依赖项中删除这些依赖项
<exclusions>
    <exclusion>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
    </exclusion>
</exclusions>

但这不起作用(可能不足为奇,因为我不知道自己在做什么)

我该如何解决这个问题?

【问题讨论】:

    标签: java maven imagej


    【解决方案1】:

    刚刚遇到同样的问题。通过为 pom-scijava 父级切换到版本 27.0.1 来修复它。

    请注意,27.0.1 版本中存在错误,请参阅https://forum.image.sc/t/pom-scijava-27-0-1-causes-error-assembling-jar-during-build/27167

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多