我不知道怎么把它修好。

场景:

我有一个用gradle构建的应用程序 应用程序使用JavaFX

我想要什么

使用一个变量(每个开发人员机器定义),该变量指向JDK的安装,将用于构建整个应用程序/测试/…

我想过要有gradle。属性文件,定义变量。类似的

JAVA_HOME_FOR_MY_PROJECT=<path to my desired JDK>

我不想要什么

将JAVA_HOME指向所需的JDK

我可以接受很多建议:

一个解决方案,它定义了一个系统环境变量,我可以在我的构建中检查。gradle脚本 在gradle.properties中定义的变量 仅为构建上下文重写JAVA_HOME变量(例如使用JAVA_HOME=<我在其他地方定义的特殊JDK路径定义>) 还有一件我没有想到的事

问题:

如何连接一个变量(如何定义,作为变量在gradle。属性,系统环境变量,…)到构建过程?

我有多个可用的JDK7,需要指向一个特殊版本(最小JDK_u版本)。

任何答案我都很感激,我很感激每一个指向正确方向的提示。


当前回答

如果你只是想设置它一次来运行一个特定的命令:

JAVA_HOME=/usr/lib/jvm/java-11-oracle/ gw build

其他回答

对于windows运行gradle任务,jdk 11的路径参数在引号中

gradlew clean build -Dorg.gradle.java.home="c:/Program Files/Java/jdk-11"

如果你只是想设置它一次来运行一个特定的命令:

JAVA_HOME=/usr/lib/jvm/java-11-oracle/ gw build

还有一个选择。在Eclipse中可用的gradle任务中,您可以设置所需的jdk路径。(我知道这个问题发布已经有一段时间了。这个答案可以帮助别人。)

右键单击部署或任何其他任务,选择“Open Gradle Run Configuration…”

然后导航到“Java Home”,粘贴你想要的Java路径。

请注意,bin将由gradle任务本身添加。所以不要在路径中添加“bin”。

Android工作室

文件>项目结构> SDK位置> JDK位置>

/usr/lib/jvm/java-8-openjdk-amd64

GL

安装JDK

对于那些在Gradle中搜索Maven属性等价的Maven .compiler.source(或<source>1.8</source>)的人:

在构建。Gradle你可以实现这一点

apply plugin: 'java'
sourceCompatibility = 1.8
targetCompatibility = 1.8

请参阅Gradle文档。

Gradle 7 +

从Gradle 7开始,你也可以使用release属性,它利用了JDK 9——release编译器参数:

tasks.withType(JavaCompile) {
    options.release = 8
}

(感谢佩德罗lamarao)