首页 > 解决方案 > 从 Gradle 中的依赖项中排除特定包

问题描述

我在我的一个项目中有依赖项

implementation (group: 'com.ibm.cloud', name: 'ibmcloudsql-jdbc', version: '2.5.34')

我想专门从这个jar中排除一个包,即

com.ibm.cloud.sdk.core.http

有办法吗?我已经尝试过了,但没有奏效。

implementation (group: 'com.ibm.cloud', name: 'ibmcloudsql-jdbc', version: '2.5.34'){
    exclude module: 'com.ibm.cloud.sdk.core.http'
  }

标签: javamavengradlegradlew

解决方案


您不能使用依赖管理来删除部分依赖 - 使用依赖管理,它要么是完整的依赖,要么是没有依赖(这不仅限于 gradle - 其他依赖管理器/构建系统,如 maven 或 ivy 也没有这个特征)。

exclude module只能用于防止包含传递依赖项(即您需要依赖项并com.xy:A声明com.xy:A它也需要com.xy:B-exclude module您可以防止包含com.xy:B

com.ibm.cloud.sdk.core.http通过从 jar 本身手动删除包并将修改后的 jar 文件添加到项目中,可以创建您自己版本的依赖项。


推荐阅读