Gradle依赖类重复和冲突无法排除

A模块引用B库,A模块通过implement引入pinyin.jar,然后B库为网络第三方库,其内部通过导入jar的方式引用了pinyin.jar
  • B库通过fileTree(dir: 'libs', include: ['*.jar']) 引用pinyin.jar,通过gradlew -q app:dependencies查看依赖树的方式是没法发现B库依赖了pinyin.jar
  • B库的Build文件夹里的代码是包含pinyin.jar的类的
  • 通过exclude group和module的方式是无法排除B库里的相关类的
 	implementation (xxx){
        exclude group :'com.xxxx
        exclude module: 'pinyin.jar'
    }
解决方式:

由于B库为第三方库,无法改造(除非下源码引入),所以只能将自己工程里的A模块implement改为compileOnly,或者直接删除A模块的pinyin.jar依赖,至于用哪种方式,看实际情况而定,以此解决冲突

你可能感兴趣的:(java,jar,linux)