gpt4 book ai didi

java - Gradle 是否需要 JDK 来编译 Java?

转载 作者:搜寻专家 更新时间:2023-11-01 02:01:50 25 4
gpt4 key购买 nike

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

提前致谢

最佳答案

精简版:安装运行JRE,Gradle自带编译器编译的Groovy构建脚本,Java源码编译JDK。

长版:有多个兴趣点:

1) 安装&运行

为了安装 Gradle 并运行 Gradle build,你需要一个版本至少为 7 的 JDK 或 JRE。

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

作为旁注,您还可以使用 Kotlin 编写构建脚本,如 described here .这当然涉及 Kotlin 编译器。

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

这意味着在安装期间将使用在 JAVA_HOME 中配置的运行时。

运行构建时也会发生同样的情况,除非您使用以下属性 org.gradle.java.home 显式覆盖 gradle.properties 中的 JAVA_HOME 。此属性和其他属性已定义 here .

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

2)源码编译

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

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

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

正在使用的 JDK 将是在 JAVA_HOME 中配置的,或者可以使用以下属性 org.gradle.java 在 gradle.properties 中明确定义。家

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

如上所述,Gradle 只能在 Java 7 或更高版本上运行。但它可以配置为编译、运行、测试、Java 6 的 javadoc 遵循 these steps .因此,此高级自定义可用于处理一些可能无法通过简单地更改 gradle.properties 来解决的极端情况。 .

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

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

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

关于java - Gradle 是否需要 JDK 来编译 Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44152583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com