如何在Gradle中为多个项目配置多个gradle.properties文件?

时间:2015-06-01 10:31:15

标签: java gradle build.gradle

我有多个项目并使用Gradle 2.4构建。

我想覆盖每个项目中的org.gradle.java.home参数,并尝试为每个项目添加gradle.properties文件并覆盖参数。

我已设置主gradle项目org.gradle.java.home=C:/Java/jdk1.6.0并在子项目中覆盖为org.gradle.java.home=C:/Java/jdk1.7.0_45

但它没有按预期工作,我正在

无效的源版本:1.7

错误消息。

有人可以说明如何解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

从我的测试:

我创建了空白根项目,但未指定要使用的java,并包含两个子项目,其中包含org.gradle.java.homesourceCompatibility以及{{1}每个子项目都有效。

项目结构

targetCompatibility

Root的设置.gradle

/build.gradle <-- root project (no sourceCompatibility or targetCompatibility here .. just blank)
/settings.gradle <-- include the subprojects
/gradle.properties <-- root gradle.properties (no org.gradle.java.home here)
  /sub1/build.gradle
  /sub1/gradle.properties
  /sub2/build.gradle
  /sub2/gradle.properties

Sub1的gradle.properties

include 'sub1'
include 'sub2'

Sub1&#39; build.gradle

org.gradle.java.home=/path/to/java8

Sub2的gradle.properties

sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8

Sub2&#39; build.gradle

org.gradle.java.home=/path/to/java7

所以,你可以试试这个设置。

我想,因为您正在使用已定义java的根项目(不仅仅是配置点) - 这可能是问题所在。

同时检查以下内容:

How do I tell Gradle to use specific JDK version?

Gradle sourceCompatibility has no effect to subprojects