Gradle是否需要JDK来编译Java源文件?
或者它正在使用自己的内部编译器?
提前致谢
解决方法:
简短版本:用于安装和运行的JRE,由Gradle自己的编译器编译的Groovy构建脚本,用于Java源代码编译的JDK.
长版:有多个兴趣点:
1)安装&赛跑
要安装Gradle并运行Gradle构建,您需要JDK或JRE,其版本至少为7.
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-library
插件编译您的JAVA源代码.两者相似.
正在使用的JDK将是在JAVA_HOME中配置的JDK,或者可以使用以下属性org.gradle.java.home在gradle.properties中显式定义.
对于这种情况,JAVA_HOME需要指向JDK而不是JRE.
如上所述,Gradle只能在Java 7或更高版本上运行.但是它可以通过遵循these steps配置为Java 6的编译,运行,测试和javadoc.因此,这种高级自定义可以用于处理一些在简单地更改gradle.properties时可能没有解决方案的极端情况.
这两个插件还提供了两个属性:
> sourceCompatibility – 编译Java源时使用的Java版本兼容性
> targetCompatibility – 为其生成类的Java版本.
这些与用作输入的源语言版本和要生成的目标字节码版本有关.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。