2013-06-14 33 views
8

Dưới Tệp -> Cấu trúc dự án -> SDK tôi có 1,7 jdk nhưng tôi vẫn gặp phải lỗi này:Lỗi IntelliJ - java: try-with-resources không được hỗ trợ trong lỗi nguồn 1.6. Mặc dù trong cài đặt dự án 1.7 JDK được chọn

added.java: try-with-resources không được hỗ trợ trong nguồn 1.6 (sử dụng -source 7 hoặc cao hơn để cho phép thử-với-nguồn lực)

tôi đã khởi động lại IDE nhưng không có kết quả

Trả lời

19

Các JVM mới hơn cho phép bạn biên dịch mã của mình bằng các phiên bản trình biên dịch của các phiên bản JVM thấp hơn. Ví dụ, JDK 1.7 sẽ cho phép bạn biên dịch mã của bạn bằng trình biên dịch 1.5.

Xem phần "biên soạn chữ thập" ở đây http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html

Những gì bạn cần làm trong Intellij, là để đi đến file ->Cấu trúc dự án ->Dự án và chọn "Dự án SDK" dưới dạng 1.7 và "Cấp độ ngôn ngữ dự án" là 7.0

7

đã phải bấm vào 'lỗi bóng đèn' biểu tượng (hoặc Alt + Enter) và chọn tùy chọn để cho phép tải đa bắt, thử với tài nguyên, kim cương ... và sau đó tải lại và khởi động lại IDE.

+0

Thật lạ khi bạn phải bật thử theo cách thủ công với các tài nguyên nên được tự động khi bạn chuyển sang JDK-7, đó là những gì tôi quan sát thấy trong nhật thực. –

+0

ông có thể có mức độ ngôn ngữ của mình thiết lập để 1.6 hoặc thấp hơn, trong khi sử dụng một trình biên dịch 1.7. Không cần phải khởi động lại IDE, chỉ cần thay đổi thiết lập đó. – jwenting

+0

Cảm ơn, bây giờ điều đó thực sự hữu ích. –

0

Tôi gặp vấn đề tương tự với IntelliJ 13. Bạn phải đặt cấp độ ngôn ngữ, cho toàn bộ dự án hoặc mô-đun riêng lẻ, trên hộp thoại "Cài đặt chung cho dự án" . Xem IntelliJ IDE gives error when using Try-Catch with Resources để có câu trả lời hoàn chỉnh.

3

IntelliJ IDEA cho phép đặt cấp độ ngôn ngữ trên cơ sở dự án cũng như trên cơ sở mô-đun. Nếu bạn đã đặt cấp độ ngôn ngữ thành Java 7 hoặc cao hơn ở cấp dự án và vẫn nhận được thông báo lỗi này, hãy nhấp chuột phải vào mô-đun, chọn "Mở cài đặt mô-đun". Đảm bảo mức độ ngôn ngữ cho mô-đun được đặt thành "Mặc định của dự án" hoặc nếu vì một lý do, bạn muốn đặt riêng, ít nhất phải là Java 7.

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