Từ thử nghiệm của tôi:
Tôi đã tạo ra dự án gốc trống mà không chỉ định mà java để sử dụng và bao gồm hai tiểu dự án với nhau org.gradle.java.home
và sourceCompatibility
và targetCompatibility
cho mỗi tiểu dự án và nó hoạt động.
cấu trúc dự án: của
/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
gốc settings.gradle:
include 'sub1'
include 'sub2'
gradle.properties Sub1 của:
org.gradle.java.home=/path/to/java8
của Sub1 build.gradle:
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
gradle.properties Sub2 của:
org.gradle.java.home=/path/to/java7
Sub2 của build.gradle:
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
Vì vậy, bạn có thể thử thiết lập này .
Tôi đoán, bởi vì bạn đang sử dụng dự án gốc của bạn với java đã được xác định (không chỉ là điểm cấu hình) - điều này có thể là vấn đề.
Ngoài ra kiểm tra những cái:
How do I tell Gradle to use specific JDK version?
Gradle sourceCompatibility has no effect to subprojects
Bạn có muốn chạy một phiên bản khác của gradle cho các dự án khác nhau?Nếu vậy, bạn nên sử dụng Gradle Wrapper – tddmonkey
@MrWiggles Tôi đang cố gắng sử dụng các phiên bản java khác nhau chứ không phải phiên bản gradle khác nhau. – user3496599
Bạn có nghĩa là bạn có một mô-đun đa xây dựng và bạn muốn có một phiên bản khác nhau của java cho các mô-đun con? Tôi tin rằng bạn nên sử dụng phiên bản cao nhất của JDK mà bạn cần và chỉ cần đặt sourceCompatibility và targetCompatibility cho mỗi mô-đun – tddmonkey