java - 重复类:javax.activation ... 使用 Gradle 构建项目时
问题描述
在我的 build.gradle 文件中添加以下实现后,通过 USB 在手机上运行项目时构建失败:
implementation 'com.fasterxml.jackson.core:jackson-core:2.10.1'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.10.1'
虽然没有在设备上运行,但构建成功。以下是构建输出中的重复文件:
Duplicate class javax.activation.ActivationDataFlavor found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.CommandInfo found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.CommandMap found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.CommandObject found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.DataContentHandler found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.DataContentHandlerFactory found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.DataHandler found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.DataHandler$1 found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.DataHandlerDataSource found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.DataSource found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.DataSourceDataContentHandler found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.FileDataSource found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.FileTypeMap found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.MailcapCommandMap found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.MimeType found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.MimeTypeParameterList found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.MimeTypeParseException found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.MimetypesFileTypeMap found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.ObjectDataContentHandler found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.SecuritySupport found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.SecuritySupport$1 found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.SecuritySupport$2 found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.SecuritySupport$3 found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.SecuritySupport$4 found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.SecuritySupport$5 found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.URLDataSource found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
Duplicate class javax.activation.UnsupportedDataTypeException found in modules jetified-activation (activation.jar) and jetified-jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1)
解决方案
可能发生这种情况是因为您正在使用两个使用相同依赖项的库,请尝试将 transitive = true 添加到 Jackson,就好像您使用的是使用 javax.activation 的名为 jakarta 的库一样。
传递是做什么的?检查这篇文章。
推荐阅读
- python - 使用 PyMC3 线性拟合的后验分布,预测给定 X 的 y 的置信区间
- javascript - 当父组件和子组件也是功能组件时,如何将函数作为道具传递?
- postgresql - 如何在 Postgresql 中查找带有任何预定义标签的帖子
- unit-testing - TDD + DDD:模型抽象
- python - 如何使用 url_for 将 jinja 变量传递到烧瓶中
- python - 在python中将数据框绘制为pdf中的表格
- c - 获得任意两个数组的最大总起点(两个数组中的最大和路径)
- javascript - 是否有一个包装器可以在不使用 try-catch 块的情况下编写异步等待函数
- visual-studio-code - 如何在 Visual Studio 代码的 Markdown 中禁用乳胶数学片段的拼写检查?
- nim-lang - Nim 语言是否具有较短的对象初始化符号?