如何通过build.gradle仅从Maven仓库获取指定Jar包?
解决Gradle仅引入指定Jar包、不加载其Pom依赖的问题
你可以通过以下两种方式实现需求:
1. 完全禁用传递依赖
如果不需要该Jar包Pom中声明的任何依赖,直接在依赖配置里添加transitive = false即可,Gradle只会下载目标Jar本身,不会解析并引入其依赖:
// 旧版Gradle使用compile compile("com.rhuldip.artifactId:com.rhuldip.projectId:1-SNAPSHOT") { transitive = false } // 新版Gradle推荐使用implementation implementation("com.rhuldip.artifactId:com.rhuldip.projectId:1-SNAPSHOT") { transitive = false }
2. 精准排除特定依赖
如果只是不需要Pom中的部分依赖,而非全部,可以用exclude指定要排除的组和模块:
implementation("com.rhuldip.artifactId:com.rhuldip.projectId:1-SNAPSHOT") { // 排除单个依赖 exclude group: '不需要的依赖组', module: '不需要的依赖模块' // 可添加多个exclude语句排除多个依赖 exclude group: '另一个不需要的组', module: '对应模块' }
补充说明
transitive = false是彻底关闭当前依赖的所有传递依赖,完全匹配你的场景;- 新版Gradle中
compile已被标记为过时,官方推荐使用implementation(仅当前模块可用)或api(可暴露给下游模块)。
内容的提问来源于stack exchange,提问作者RAHUL DEEP
相关产品推荐
相关产品推荐

