尝试将JGit集成到Android项目中,并获得大量重复的类错误,这些错误都来自JGit传递依赖:
重复类检测显示:
- org/apache/sshd/common/util/closeable/SequentialCloseable.class is in [sshd-osgi-2.7.0.jar, sshd-common-2.7.0.jar]
- org/apache/sshd/common/util/closeable/SimpleCloseable.class is in [sshd-osgi-2.7.0.jar, sshd-common-2.7.0.jar]
- org/apache/sshd/common/util/functors/Int2IntFunction.class is in [sshd-osgi-2.7.0.jar, sshd-common-2.7.0.jar]
- org/apache/sshd/common/util/functors/UnaryEquator.class is in [sshd-osgi-2.7.0.jar, sshd-common-2.7.0.jar]
- org/apache/sshd/common/util/helper/LazyIterablesConcatenator$1.class is in [sshd-osgi-2.7.0.jar, sshd-common-2.7.0.jar]
- org/apache/sshd/common/util/helper/LazyIterablesConcatenator.class is in [sshd-osgi-2.7.0.jar, sshd-common-2.7.0.jar]
- org/apache/sshd/common/util/helper/LazyMatchingTypeIterable.class is in [sshd-osgi-2.7.0.jar, sshd-common-2.7.0.jar]
- org/apache/sshd/common/util/helper/LazyMatchingTypeIterator.class is in [sshd-osgi-2.7.0.jar, sshd-common-2.7.0.jar]
- org/apache/sshd/common/util/io/CloseableEmptyInputStream.class is in [sshd-osgi-2.7.0.jar, sshd-common-2.7.0.jar]
都是sshd-osgi-27.0.jar AND sshd-common-2.在运行gradle dependencies
时,7.0.jar来自org.eclipse.jgit:org.eclipse.jgit.ssh.apache
:
| +--- org.eclipse.jgit:org.eclipse.jgit.ssh.apache:5.13.1.202206130422-r
| | +--- org.eclipse.jgit:org.eclipse.jgit:5.13.1.202206130422-r (*)
| | +--- org.apache.sshd:sshd-osgi:2.7.0
| | | +--- org.slf4j:slf4j-api:1.7.30
| | | \--- org.slf4j:jcl-over-slf4j:1.7.30
| | | \--- org.slf4j:slf4j-api:1.7.30
| | +--- org.apache.sshd:sshd-sftp:2.7.0
| | | +--- org.apache.sshd:sshd-core:2.7.0
| | | | +--- org.apache.sshd:sshd-common:2.7.0
我错过了什么,或者这个相当常用的包实际上在其依赖项中有重复的类,这些类在Android平台中打破了它的使用??
1条答案
按热度按时间hsvhsicv1#
JGit的依赖项应该调整为不包含不同jar中的重复类。
作为一种解决方法,您可以尝试通过
build.gradle
中的以下内容排除org.apache.sshd:sshd-common:2.7.0
上的重复传递依赖项: