当前位置: 首页 > 面试题库 >

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

太叔超英
2023-03-14
问题内容

我不知道该如何工作。

场景:

  • 我有一个用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版本)。

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


问题答案:

两种方式

在你设置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


 类似资料:
  • 场景: 我有一个使用Gradle构建的应用程序 应用程序使用JavaFX 我想要的 null 将指向所需的JDK 我可以接受很多建议: 定义系统环境变量的解决方案,我可以在build.gradle脚本中签入该变量 在gradle.properties中定义的变量 仅针对构建上下文重写JAVA_HOME变量(类似于) 我没有想过的其他事情 问题: 如何将变量(如何定义,如中的变量、系统环境变量、..

  • 切换到 JDK8 后,清单。MF Attributes 开始返回 https://bugs.openjdk.java.net/browse/JDK-8201636 这表明这是 Oracle 在 JDK 8u151-8u172 中引入的一个错误。 我使用pom.xml和IntelliJ IDEA。指定(标签 < br > < code > JAVA _ HOME 设置为JDK10 我安装了< cod

  • 问题内容: 在Maven中,依赖关系通常是这样设置的: 现在,如果你正在使用发布频繁的库,则不断更新标记可能会有些烦人。有什么方法可以告诉始终使用最新的可用版本(来自存储库)? 问题答案: 有关更多详细信息,请参见Maven书籍的POM语法部分。或者在Dependency Version Ranges上查看此文档,其中: 方括号([&])表示“封闭”(含)。 括号((&))表示“开放”(排除)。

  • 一个简单的问题,即使经过几个小时的尝试和搜索,我也无法弄清楚: 我已经安装了Java6和7。 所有项目模块均设置为使用1.6 设置为 设置未执行任何操作 在命令行中将1.6识别为其JDK 重新启动IntelliJ和/或计算机没有更改行为 是否有一个设置来避免Java1.7被调用?

  • 问题内容: 即使经过数小时的尝试和搜索,我仍然无法弄清一个简单的问题: 我同时安装了Java 6和7。 如何告诉IntelliJ从JDK 1.6版开始Gradle构建? 不管我做什么,IntelliJ始终以 我试过了: 所有项目模块均设置为使用1.6 设定为 设置什么也没做 在命令行上将1.6识别为其JDK 重新启动IntelliJ和/或计算机没有更改行为 是否有某个设置可以避免调用Java 1.

  • 我想在这里对蒂姆的回答发表评论(https://stackoverflow.com/a/1172805/1746310)但因为我的声誉,我不能,我写了它作为回答,说我想发表评论,但因为我的声誉,我不能。这条消息后来被ChrisF删除了(https://stackoverflow.com/users/59303/chrisf)说这不是答案,我应该写一条评论。。。我找不到这个词。 不管怎样,这就是我所