gpt4 book ai didi

java - 如何修复maven项目中的 'BanDuplicateClasses failed'

转载 作者:行者123 更新时间:2023-12-02 05:49:25 24 4
gpt4 key购买 nike

我正在尝试使用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
..........

我尝试使用

从生物格式依赖项中删除这些依赖项
<exclusions>
<exclusion>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
</exclusions>

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

我该如何解决这个问题?

最佳答案

刚刚遇到了同样的问题。通过将 pom-scijava 父级切换到版本 27.0.1 修复了该问题。

请注意,27.0.1版本有一个bug,参见https://forum.image.sc/t/pom-scijava-27-0-1-causes-error-assembling-jar-during-build/27167 .

关于java - 如何修复maven项目中的 'BanDuplicateClasses failed',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56063845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com