依赖的类型
类似于 Maven 的 scope 标签,gradle 也提供了依赖的类型,具体如下所示:
compileOnly 由java插件提供,曾短暂的叫provided,后续版本已经改成了compileOnly...testImplementation 由 java 插件提供,针对测试代码[src/test 目录] 取代老版本中被移除的 testCompile
providedCompile war 插件提供支持...在 gradle 7.0 已经移除
api java-library 插件 提供支持,这些依赖项可以传递性地导出给使用者,用于编译时和运行时。...4. api 与 implementation 区别
如下所示:
编译时:如果 libC 的内容发生变化,由于使用的是 api 依赖,依赖会传递,所以 libC、libA、projectX 都要发生变化...依赖冲突及解决方案
依赖冲突是指 “在编译过程中, 如果存在某个依赖的多个版本, 构建系统应该选择哪个进行构建的问题”,如下所示:
A、B、C 都是本地子项目 module,log4j 是远程依赖。