在模块 jsp-api-2.1-6.1.14.jar (org.mortbay.jetty:jsp-api-2.1:6.1.14) 和 jsp-api-2.1.jar (javax.servlet) 中发现重复的类 javax.el.ArrayELResolver .jsp:jsp-api:2.1)
在模块 jsp-api-2.1-6.1.14.jar (org.mortbay.jetty:jsp-api-2.1:6.1.14) 和 jsp-api-2.1.jar (javax.servlet) 中发现重复的类 javax.el.BeanELResolver .jsp:jsp-api:2.1)
在模块 jsp-api-2.1-6.1.14.jar (org.mortbay.jetty:jsp-api-2.1:6.1.14) 和 jsp-api-2.1.jar (javax) 中找到重复的类 javax.el.BeanELResolver$BeanProperties .servlet.jsp:jsp-api:2.1)
在模块 jsp-api-2.1-6.1.14.jar (org.mortbay.jetty:jsp-api-2.1:6.1.14) 和 jsp-api-2.1.jar (javax) 中找到重复的类 javax.el.BeanELResolver$BeanProperty .servlet.jsp:jsp-api:2.1)
build.gradle:
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
//The dependencies below are for a library i'm including after which i get the error
compile "org.bouncycastle:bcprov-jdk15on:1.54"
compile "org.apache.pdfbox:pdfbox:[2.0.15,)"
compile "org.mapdb:mapdb:3.0.4"
compile "com.google.guava:guava:19.0"
compile "com.carrotsearch:java-sizeof:0.0.5"
compile "org.apache.hadoop:hadoop-common:2.7.1"
compile "com.amazonaws:aws-java-sdk:1.11.19"
compile "org.apache.hadoop:hadoop-core:1.2.1"
compile "org.apache.lucene:lucene-analyzers-common:6.1.0"
compile "org.apache.poi:poi-scratchpad:3.15-beta1"
compile "org.apache.poi:poi:3.15-beta1"
compile "org.apache.poi:poi-ooxml:3.15-beta1"
我在堆栈溢出的其他线程上读到过有关在 build.gradle 中使用排除:组的信息,只是我似乎做错了一些事情。有人可以告诉我(i)如何添加排除语句来修复上述错误,而不是给出一些通用示例(ii)我如何手动删除导致重复的模块? (我尝试从 gradle 缓存文件夹中删除它们,甚至删除了 .gradle 文件夹,但它不断重建它)。任何建议将不胜感激
首先,编译应替换为实现,因为它已被弃用。 (i) 此链接提供了很好的解释:https://discuss.gradle.org/t/how-to-exclude-transitive-dependency/2119/2 https://discuss.gradle.org/t/how-to-exclude-transitive-dependency/2119/2(ii) 我进行了大量搜索以找到可行的方法来执行此操作,但大多数建议的方法都失败了。实际有效的是以下示例:
注意:程序类的重复定义
问题:hadoop-common 和 hadoop-core 共享许多导致冲突的公共类
解决方案:
我设法通过手动删除 jar 文件中重复的 .class 文件来解决这个问题。 (IE。
(i) 将扩展名从 jar 更改为 zip
(ii) 提取它
(iii) 删除 .class 文件或整个文件夹(如果包含所有重复文件)
(iv) 将扩展名从 zip 更改回 jar
请注意,不要使用 Winrar 提取 jar 文件并尝试将它们压缩回来,因为某些奇怪的原因不起作用。我不得不
导航到 Gradle 缓存:C->Users-> 用户名 -> .gradle -> 缓存 -> module-2 -> files-2 -> org.apache.hadoop ->
找到 hadoop-common 或 hadoop-core 并应用上述内容来删除具有重复类的文件夹
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)