gpt4 book ai didi

Java - 依赖项上的包冲突,强制从其中选择一个

转载 作者:行者123 更新时间:2023-11-30 02:14:52 24 4
gpt4 key购买 nike

我的项目有一些依赖项,我正在使用 Gradle。

我通过以下方式声明它们:

dependencies {
compile 'org.json:json:20180130'
compile 'com.test.myapi:1.0.1'
}

com.test.myapi:1.0.1 jar 里面有 org.json (我已经废弃了非常糟糕的东西..)。
现在,我需要使用函数 JSONTokener,它在最新版本中具有新的构造函数,但我的 com.test.myapi 包中没有它。

当我使用 distroJar 时,构建成功创建了 jar 和 tgz,但我收到运行时错误,因为由于某种原因它采用了旧版本中的 JSONTokener 方法。

有没有办法强制项目从新的项目中获取 org.json,或者禁用内部包中的 org.json?

谢谢。

最佳答案

假设 myapi 将与新版本的 org.json 一起使用,您可以像这样排除旧版本

compile ('com.test.myapi:1.0.1'){
exclude group: 'org.json', module:'json'
}

您还可以使用project-report插件来探索不需要的依赖项来自何处。 Using gradle to find dependency tree

显然排除不适用于 super jar 。

关于Java - 依赖项上的包冲突,强制从其中选择一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48913999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com