Gradle是否需要JDK来编译Java?

Gradle是否需要JDK来编译Java?,java,gradle,Java,Gradle,Gradle是否需要JDK来编译Java源文件? 或者它正在使用自己的内部编译器 提前感谢简短版本:JRE安装和运行,Groovy构建脚本由Gradle自己的编译器编译,JDK用于Java源代码编译 长版本:有多个关注点: 1)安装和运行 为了安装Gradle并运行Gradle build,您需要JDK或JRE版本至少为7 Gradle主要使用Groovy作为一种语言,但它有自己的库,而忽略了安装的任何其他Groovy库。因此,编译器是Gradle附带的Groovy库的Groovy编译器 作为补

Gradle是否需要JDK来编译Java源文件? 或者它正在使用自己的内部编译器


提前感谢

简短版本:JRE安装和运行,Groovy构建脚本由Gradle自己的编译器编译,JDK用于Java源代码编译

长版本:有多个关注点:

1)安装和运行

为了安装Gradle并运行Gradle build,您需要JDK或JRE版本至少为7

Gradle主要使用Groovy作为一种语言,但它有自己的库,而忽略了安装的任何其他Groovy库。因此,编译器是Gradle附带的Groovy库的Groovy编译器

作为补充说明,您还可以使用Kotlin作为脚本编写构建。这当然涉及到Kotlin编译器

您可以通过运行
gradle-v
来检查JVM版本

这意味着在安装期间将使用
JAVA\u HOME
中配置的运行时

运行构建时也会发生同样的情况,除非使用以下属性显式重写
gradle.properties
中的
JAVA\u HOME
。此属性和其他属性已定义

JAVA_HOME
可以指向JDK或JRE。在这种情况下,只安装JRE就足够了

2)源代码编译

为了消除任何混淆,源代码意味着您拥有用某种语言编写的项目源代码,这些源代码需要编译成字节码。在前面,编写的代码是实际的构建脚本代码,这是一个独立的东西,由Gradle编译和处理

源代码是使用Gradle插件编译的,可以是java、groovy、kotlin或其他任何插件

您可以使用该插件或更新的插件编译JAVA源代码。两者相似

正在使用的JDK将是在
JAVA_HOME
中配置的JDK,或者可以使用以下属性
org.gradle.JAVA.HOME
gradle.properties
中显式定义

JAVA_HOME
在这种情况下需要指向JDK而不是JRE

如上所述,Gradle只能在Java7或更高版本上运行。但它可以通过以下方式配置为编译、运行、测试Java6的javadoc。因此,这种高级定制可用于处理某些角落的情况,这些情况可能不具备简单更改的解决方案

这两个插件还提供两个属性:

  • sourceCompatibility
    -编译Java源代码时要使用的Java版本兼容性
  • targetCompatibility
    -用于生成类的Java版本

这些与用作输入的源语言版本和要生成的目标字节码版本有关。

JDK。因为JRE没有包含Java编译器,所以我们需要设置JDK