在用户 gradle.properties 中设置 JDK 主页(javac 路径)
Set JDK home (javac path) in user's gradle.properties
我需要在我的 gradle 项目中指定 javac
的路径。我可以通过将以下内容添加到我的 build.gradle
文件来做到这一点:
options.forkOptions.executable = '/home/mj/lib/jdk1.7.0_80/bin/javac'
问题是该文件在我们的存储库中共享,我不希望将设置推送到那里。我试着把它放在我本地的 gradle.properties
文件中,但是没有用。设置 gradle.java.home
也不会影响这一点。我猜这是因为 gradle 对 java
使用 gradle.java.home
而不是 javac
,对吧?我也(绝望地)尝试设置一个 gradle.jdk.home
,这(毫不奇怪)也没有用!
有没有项目外的地方被build.gradle收录了?
在你的gradle.properties中:
javacPath=/home/mj/lib/jdk1.7.0_80/bin/javac
在你的build.gradle
options.forkOptions.executable = project.property('javacPath')
使用相对于 "java.home" 的路径对我们有用。不优雅,但这不需要其他设置。我们首先需要它的原因是我们使用 JDK 构建,它是工作副本的一部分,而不是预安装 Jenkins slave。我们在从机上没有 javac/JDK,只有 运行 Jenkins 从机的 JRE。我们在工作副本中的gradlew
指向它旁边的JDK.
compileJava {
options.fork = true
options.forkOptions.executable = "${System.properties['java.home']}/../bin/javac"
}
(注意:在Java 运行时,java.home
指向JDK中的$JAVA_HOME/jre
文件夹。也就是下面那个JAVA_HOME
环境变量指向。)
它将于 2021 年底结束,现在有一种更简单的方法。在项目的根目录中,将以下内容添加到 gradle.properties 文件(如果文件不存在,也添加该文件):
org.gradle.java.home=path/to/jdk
我需要在我的 gradle 项目中指定 javac
的路径。我可以通过将以下内容添加到我的 build.gradle
文件来做到这一点:
options.forkOptions.executable = '/home/mj/lib/jdk1.7.0_80/bin/javac'
问题是该文件在我们的存储库中共享,我不希望将设置推送到那里。我试着把它放在我本地的 gradle.properties
文件中,但是没有用。设置 gradle.java.home
也不会影响这一点。我猜这是因为 gradle 对 java
使用 gradle.java.home
而不是 javac
,对吧?我也(绝望地)尝试设置一个 gradle.jdk.home
,这(毫不奇怪)也没有用!
有没有项目外的地方被build.gradle收录了?
在你的gradle.properties中:
javacPath=/home/mj/lib/jdk1.7.0_80/bin/javac
在你的build.gradle
options.forkOptions.executable = project.property('javacPath')
使用相对于 "java.home" 的路径对我们有用。不优雅,但这不需要其他设置。我们首先需要它的原因是我们使用 JDK 构建,它是工作副本的一部分,而不是预安装 Jenkins slave。我们在从机上没有 javac/JDK,只有 运行 Jenkins 从机的 JRE。我们在工作副本中的gradlew
指向它旁边的JDK.
compileJava {
options.fork = true
options.forkOptions.executable = "${System.properties['java.home']}/../bin/javac"
}
(注意:在Java 运行时,java.home
指向JDK中的$JAVA_HOME/jre
文件夹。也就是下面那个JAVA_HOME
环境变量指向。)
它将于 2021 年底结束,现在有一种更简单的方法。在项目的根目录中,将以下内容添加到 gradle.properties 文件(如果文件不存在,也添加该文件):
org.gradle.java.home=path/to/jdk