如何为多个项目配置 Gradle 中的多个 gradle.properties 文件?
How configure multiple gradle.properties files in Gradle for multiple projects?
我有多个项目并使用 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
错误信息。
有人可以告诉我如何解决这个问题吗?
根据我的测试:
我创建了 空白 根项目,但没有指定要使用哪个 java,并包含两个 子项目 [=16] =] 和 sourceCompatibility
和 targetCompatibility
对于每个子项目并且它有效。
项目结构:
/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
根的settings.gradle:
include 'sub1'
include 'sub2'
子 1 的 gradle.properties:
org.gradle.java.home=/path/to/java8
子 1 的 build.gradle:
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
子2的gradle.properties:
org.gradle.java.home=/path/to/java7
子2的build.gradle:
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
所以,你可以试试这个设置。
我猜,因为您正在使用已经定义的根项目 java(不仅仅是作为配置点)- 这可能是问题所在。
同时检查这些:
How do I tell Gradle to use specific JDK version?
Gradle sourceCompatibility has no effect to subprojects
我有多个项目并使用 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
错误信息。
有人可以告诉我如何解决这个问题吗?
根据我的测试:
我创建了 空白 根项目,但没有指定要使用哪个 java,并包含两个 子项目 [=16] =] 和 sourceCompatibility
和 targetCompatibility
对于每个子项目并且它有效。
项目结构:
/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
根的settings.gradle:
include 'sub1'
include 'sub2'
子 1 的 gradle.properties:
org.gradle.java.home=/path/to/java8
子 1 的 build.gradle:
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
子2的gradle.properties:
org.gradle.java.home=/path/to/java7
子2的build.gradle:
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
所以,你可以试试这个设置。
我猜,因为您正在使用已经定义的根项目 java(不仅仅是作为配置点)- 这可能是问题所在。
同时检查这些:
How do I tell Gradle to use specific JDK version?
Gradle sourceCompatibility has no effect to subprojects