You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Jetified模块中javax.annotation类重复冲突问题?

解决Javax.annotation.Detainted类重复冲突方案

方案一:精准排除冲突依赖

你之前排除的是org.jetbrains:annotations,但冲突实际发生在IN-NistComponent-1.3.1和jsr305-3.0.2之间,需要针对这两个模块做精准处理:

  • 如果组件是通过Maven坐标引入的,排除其内置的jsr305依赖:
dependencies {
    implementation("你的组件groupId:IN-NistComponent:1.3.1") {
        exclude(group = "com.google.code.findbugs", module = "jsr305")
    }
}
  • 如果是本地jar依赖,直接手动打开jar包删除javax.annotation.Detainted类文件,或者让同事处理。

方案二:强制统一依赖版本

通过Gradle依赖解析策略,强制所有模块使用同一个版本的jsr305,避免重复引入:

configurations.all {
    resolutionStrategy {
        force("com.google.code.findbugs:jsr305:3.0.2")
    }
}

方案三:指定重复类优先级(Android项目适用)

如果是Android项目,可通过packagingOptions指定保留哪个模块的冲突类:

android {
    packagingOptions {
        pickFirst("javax/annotation/Detainted.class")
    }
}

方案四:让同事重新打包组件jar

直接联系开发IN-NistComponent-1.3.1.jar的同事,让他在打包时排除javax.annotation相关类——jsr305是标准公开依赖,组件jar没必要内置重复类。

内容的提问来源于stack exchange,提问作者alpheonix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 18:06:00