gpt4 book ai didi

java - 从实现文件中排除依赖项

转载 作者:行者123 更新时间:2023-12-01 17:27:14 25 4
gpt4 key购买 nike

我有一个 jar,我使用以下语法将其包含在我的 Android 项目中

implementation files('lib/fm.liveswitch.jar')

fm.liveswitch 具有 org.bouncycaSTLe 的依赖项,我已将其作为项目的依赖项包含在内。如何将 bouncycaSTLe 排除在 jar 中?

我已经尝试过以下各项:

implementation (files('lib/fm.liveswitch.jar')) { 
exclude group: 'org.bouncycastle'
}

implementation (files('lib/fm.liveswitch.jar')) {
exclude module: 'org.bouncycastle'
}

implementation (files('lib/fm.liveswitch.jar'), {
exclude group: 'org.bouncycastle'
})

implementation files('lib/fm.liveswitch.jar') {
exclude group: 'org.bouncycastle'
}

但是每次我都会收到类似于以下内容的错误:

Could not find method exclude() for arguments [{group=org.bouncycastle}] on object of type org.gradle.api.internal.artifacts.dependencies.DefaultSelfResolvingDependency

最佳答案

当您添加基于文件的依赖项时,它们没有依赖项元数据,因此没有传递依赖项信息。

鉴于此,尝试添加排除是没有意义的。

添加实现文件('lib/fm.liveswitch.jar')只会在类路径上添加fm.liveswitch.jar,没有其他内容。

现在,如果该 JAR 中包含一些 bouncycaSTLe 类,那就是另一回事了。 Gradle 没有直接的方法让您控制 JAR 内容的可见性。

然后您将有两个选择:

  • 由于它是本地 JAR,您可以自己从中删除有问题的类。
  • 您可以尝试利用 artifact transforms

关于java - 从实现文件中排除依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61195038/

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