我不知道该怎么做.

脚本:

  • 我用gradle开发了一个应用程序
  • 该应用程序使用JavaFX

我想要的是

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

我考虑过使用gradle.properties文件,定义变量.差不多

JAVA_HOME_FOR_MY_PROJECT=<path to my desired JDK>

我不想要的是

  • JAVA_HOME指向所需的JDK

我可以接受很多建议:

  • 这个解决方案定义了一个系统环境变量,我可以在构建中判断它.渐变脚本
  • 在gradle中定义的变量.属性
  • 仅为构建上下文重写JAVA_HOME变量(类似于use JAVA_HOME=<my special JDK path defined somewhere else defined>)
  • 还有什么我没想到的

问题:

  • 如何连接变量(如何定义,作为gradle.properties中的变量,系统环境变量,…)到构建过程?

我有多个JDK7可用,需要指向一个特殊版本(最低jdk_u版本).

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

推荐答案

两种方式

  1. gradle.properties中的.gradle目录中的HOME_DIRECTORY集合org.gradle.java.home=/path_to_jdk_directory

或者:

  1. 在你build.gradle岁的时候

     compileJava.options.fork = true
     compileJava.options.forkOptions.executable = '/path_to_javac'
    

Java相关问答推荐

具有额外列的Hibert多对多关系在添加关系时返回NonUniqueHealthExcellent

当我用OkHttpClient重写shouldInterceptRequest来发布数据时,Android WebView正在以纯HTML加载URL内容

无法找到符号错误—Java—封装

@从类文件中删除JsonProperty—Java

为什么一个Test的instance?& gt;在构造函数中接受非空对象?

在Java中,在单个逻辑行中连接列表和单个元素的正确方法是什么?

Java中的死锁及其重入锁和锁

测试容器无法加载类路径初始化脚本

Arrays.hashcode(int[])为不同的元素提供相同的散列

如何集成语义发布和BitBucket(Java项目)

Spring安全令牌刷新和JWT签名与本地计算的签名不匹配

如何在太阳系模拟器中添加月球?

AWS Java SDK v2.x中没有setObjectAcl方法

IntelliJ IDEA中的JavaFX应用程序无法在资源中找到CSS文件

我的代码是线程安全的吗?[Java、CAS、转账]

在实例化中指定泛型类型与不指定泛型类型之间的区别

模拟JUnit未检测到返回字符串的方法的任何声纳覆盖

如何在Struts2中使用操作类中的结果注释重定向到不同的命名空间

如何正确使用java.time类?

转换为JSON字符串时,日期按天递减-Java