我正在努力深入了解gradle如何工作并试图理解它的精彩。所以我创建了两个项目:
1)项目B包含番石榴依赖项作为实现,接下来我使用publishToMavenLocal任务部署了这个项目。
2)项目A也包含对项目B的依赖性作为实现。当我在项目A中我可以自由地使用番石榴作为传递依赖时,我感到很惊讶。
在我发现的文档中:
api配置应该用于声明由库API导出的依赖项,而实现配置应该用于声明组件内部的依赖项。
据我所知,番石榴依赖应该对我的A项目是不可见的,但我可以依赖它。我的问题是:为什么我们需要实施配置呢?如何执行以及在什么情况下?实现与编译是否在某种程度上改变内部罐子?