什么是 gradle java 插件的“实现”配置? [复制]

Posted

技术标签:

【中文标题】什么是 gradle java 插件的“实现”配置? [复制]【英文标题】:What is `implementation` configuration of gradle java plugin? [duplicate] 【发布时间】:2021-05-23 19:27:55 【问题描述】:

我是 Gradle 的新手,现在正在学习配置。许多开发人员在他们的 build.gradle 中使用 implementation 配置,但我不明白它的用途。

我正在阅读gradle document,发现配置是由 java 插件提供的。但描述对我来说还不容易。

实现扩展编译 仅实现依赖项。

这个术语中的“仅实现”是什么意思?

【问题讨论】:

【参考方案1】:

我对 Gradle 也很陌生,但仅通过查看下面的图片(显示在您所指的页面上),它就很有意义。

所以你有蓝色框 compileClasspathruntimeClassPathcompileClasspath 是运行 gradle build 时成功构建所必需的。编译时将出现在类路径中的库将是使用 compileOnlyimplementation 在 gradle 构建中配置的所有库。

然后我们有runtimeClasspath,这些都是您使用implementationruntimeOnly 添加的包。所有这些库都将添加到您在服务器上部署的最终构建文件 (jar) 中。

如图所示,如果您希望一个库既可用于编译,又希望将其添加到构建文件中,则应使用implementation

runtimeOnly 的示例可以是数据库驱动程序。compileOnly 的示例可以是 servlet-api。implementation 的一个例子可以是 spring-core。

【讨论】:

以上是关于什么是 gradle java 插件的“实现”配置? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

java Gradle中的Flyway插件配置

Android Gradle 插件gradle.properties 中配置编译参数并在 Java 代码 BuildConfig 中调用该参数

Android Gradle 插件Gradle 构建机制 ② ( Groovy 语言 DSL 特性 | settings.gradle 配置文件解析 | 配置子模块工程目录 | 顶层配置 )

配置现有的 eclipse java 项目以使用 gradle 构建

Android Gradle 插件组件化中的 Gradle 构建脚本实现 ⑤ ( 优化 Gradle 构建脚本 | 构建脚本结构 | 闭包定义及用法 | 依赖配置 | android 块配置 )

Java使用 Gradle 依赖配置compile,implementation和api的区别