2015-06-01 23 views
6

Tôi có nhiều dự án và xây dựng bằng Gradle 2.4.Cách định cấu hình nhiều tệp gradle.properties trong Gradle cho nhiều dự án?

Tôi muốn ghi đè thông số org.gradle.java.home trong mỗi dự án và cố gắng thêm tệp gradle.properties cho từng dự án và ghi đè tham số.

tôi đã thiết lập các dự án gradle chính org.gradle.java.home=C:/Java/jdk1.6.0 và ghi đè lên trong tiểu dự án như org.gradle.java.home=C:/Java/jdk1.7.0_45

Nhưng nó không làm việc như mong đợi và tôi nhận được

không hợp lệ nguồn phát hành: 1,7

lỗi thông điệp.

Ai đó có thể đưa ra ý tưởng về cách khắc phục vấn đề này?

+1

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

+0

@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

+2

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

Trả lời

2

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.homesourceCompatibilitytargetCompatibility 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

Các vấn đề liên quan