Tôi có một dự án trong Eclipse mà trước đây đã sử dụng JRE7 và tham chiếu các thư viện hệ thống JRE7. Tôi hoàn toàn cần nó để chạy trong JRE6. Tôi đã không sử dụng bất kỳ cú pháp cụ thể nào của Java 7 nên mã nguồn chính nó hoàn toàn tương thích. Dưới đây là những gì tôi đã thực hiện:Làm cách nào để chuyển đổi dự án Eclipse của tôi sang phiên bản Java cũ hơn?
- Tôi đã cài đặt JDK6.
- Sau đó, tôi đã đi tới Cửa sổ> Tùy chọn> Java> JRE đã cài đặt và đặt JRE6 làm mặc định.
- Tôi đã định cấu hình đường dẫn xây dựng của dự án để tham khảo thư viện hệ thống JRE6 chứ không phải thư viện JRE7.
- Cuối cùng tôi đã đi đến Chạy cấu hình> JRE và đặt nó chạy trong JRE6.
Ngay sau đó bước cuối cùng, phía trên cùng của cuộc đối thoại cho thấy một thông báo nói rằng:
JRE không tương thích với dự án .class khả năng tương thích file: 1,7
Và khi tôi chạy dự án tôi nhận được thông báo lỗi này:
java.lang.UnsupportedClassVersionError: ExampleProcessingApp : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:314)
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:146)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:608)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:798)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:727)
at sun.applet.AppletPanel.run(AppletPanel.java:380)
at java.lang.Thread.run(Thread.java:679)
Như tôi đã đề cập trước đây, mã thực tế của dự án không khác với cú pháp Java 6 vì vậy nó sẽ chạy trong JRE6. Vì vậy, có lẽ tôi cần phải bằng cách nào đó biên dịch lại tất cả các tập tin .class từ mã nguồn. Tôi nghĩ Eclipse sẽ tự động làm điều này. Bất kỳ ý tưởng?
bạn có làm sạch thư mục xây dựng của mình không? – sergiofbsilva
Ngoài ra, hãy kiểm tra xem bạn có phiên bản Java cũ hơn không. Bạn có thể cần phải cập nhật hoặc cố gắng cài đặt lại phiên bản trên máy tính của mình. – Kurty