2013-10-02 17 views
6

Với lớp đơn giản sau đây tôi nhận được java: Duplicate methods named spliterator with the parameters() and() are inherited from the types java.util.List<T> and java.lang.Iterable<T> lỗi nếu sử dụng trình biên dịch Eclipse trong IDEA với JDK 8:"java: phương pháp trùng lặp tên XXX" vấn đề khi sử dụng trình biên dịch Eclipse trong IDEA với JDK 8

public class Java8Test { 
    public static interface Traverable<T> extends Iterable<T> {} 
    public static interface List<T> extends Traverable<T>, java.util.List<T> {} 
} 

Nếu thay đổi trình biên dịch sang javac, sau đó không có lỗi. Lỗi cũng biến mất nếu chuyển sang JDK 6 với trình biên dịch eclipse.

IDEA phiên bản: 12.1.5

+2

Eclipse chưa hỗ trợ Java 8. –

+1

oops không biết điều đó. Tôi sẽ để lại câu hỏi này ở đây trong trường hợp những người khác có cùng sự nhầm lẫn –

+0

Kể từ 4.4 Eclipse hỗ trợ Java 8. Bản phát hành 4.3 có thể được nâng cấp lên Java 8 nhưng không hỗ trợ nó ra khỏi hộp. –

Trả lời

0

Tôi gặp vấn đề tương tự. Dường như là JTD 4.3 của Eclipse không thực hiện tốt với Java8. Trên những lời của Stephan Herrmann (CLA):

Một trình biên dịch Java 7 không bao giờ nên cố gắng biên dịch chống lại một JRE 8. Đúng tương thích cho các kịch bản không được xác định bất cứ nơi nào và có thể không thậm chí có thể vì vỡ nợ các phương thức đã được thêm vào các thư viện theo cách đảm bảo khả năng tương thích thời gian chạy của mã cũ nhưng không tương thích thời gian biên dịch với trình biên dịch Java 7 và thư viện mới. Do đó tôi đánh dấu lỗi này là không hợp lệ, đó là s.t. chúng tôi không thể hỗ trợ theo thiết kế.

Bạn có thể đọc thêm ở đây:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=407010

và ở đây:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=409473

https://bugs.eclipse.org/bugs/show_bug.cgi?id=390889

+2

Nói cách khác, không sử dụng phiên bản trình biên dịch Java đã cho trong phiên bản Java mới hơn so với trình biên dịch Java hỗ trợ. Nếu bạn muốn Java 8, hãy chạy trên Java 8. –

4

Tôi đã nhận lỗi tương tự khi cố gắng để biên dịch Java 7 mã với Java 8 JDK.

Giải pháp làm việc cho tôi đã thay đổi JRE được cấu hình trong Eclipse thành Java 7: Window -> Preferences -> Java -> Installed JREs. Chỉnh sửa cái hiện có và chọn thư mục chứa Java 7 JDK.

+0

Đường dẫn thư viện xây dựng dự án-Java-Thêm hệ thống thư viện-JRE Libray-Chọn java 7 và xóa java 8. Điều này có thể thay đổi cài đặt cụ thể của dự án nếu bạn không muốn thay đổi Eclipse cài đặt. – oscarthecat

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