一尘不染

Java如何告诉Gradle使用特定的JDK版本?

java

我不知道该如何工作。

场景:

  • 我有一个用gradle构建的应用程序
  • 该应用程序使用JavaFX
    我想要的是

  • 使用一个变量(针对每个开发人员的机器定义),该变量指向JDK的安装,该安装将用于构建整个应用程序/测试/ …
    我考虑过要gradle.properties文件,定义变量。就像是

JAVA_HOME_FOR_MY_PROJECT=<path to my desired JDK>

我不想要的

  • 指向JAVA_HOME所需的JDK

我可以接受很多建议:

  • 定义系统环境变量的解决方案,我可以在build.gradle脚本中检查
  • gradle.properties中定义的变量
  • 仅针对构建上下文覆盖JAVA_HOME变量(如use JAVA_HOME=<my special JDK path defined somewhere else defined>
  • 我没想到的其他事情

题:

  • 如何将变量(如何定义为gradle.properties系统环境变量中的变量,…)连接到构建过程?
    我有多个JDK7可用,并且需要指向一个特殊版本(最低JDK_u版本)。

感谢你提供任何答案,我感谢你向正确方向提出的所有提示。


阅读 1712

收藏
2020-03-04

共1个答案

一尘不染

两种方式

在你设置gradle.properties.gradle目录中HOME_DIRECTORYorg.gradle.java.home=/path_to_jdk_directory
要么:

在你的 build.gradle

compileJava.options.fork = true
compileJava.options.forkOptions.executable = /path_to_javac
2020-03-04