2012-03-28 26 views
11

Tôi đã chạy ứng dụng chơi của mình trên OpenJDK 1.7. Tất cả đều tốt và tốt cho đến khi tôi cố gắng triển khai cho heroku, chỉ hỗ trợ OpenJDK 1.6. Tôi cố định cú pháp để chạy trên OpenJDK 1.6, tuy nhiên khi tôi đi để chạy nó tôi nhận được lỗi sau:Chơi khung - cách khắc phục UnsupportedClassVersionError trên JRE 6?

[email protected]:/src/playtest$ java -version 
java version "1.6.0_23" 
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2) 
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) 
[email protected]:/src/playtest$ play run 
~  _   _ 
~ _ __ | | __ _ _ _| | 
~ | '_ \| |/ _' | || |_| 
~ | __/|_|\____|\__ (_) 
~ |_|   |__/ 
~ 
~ play! 1.2.4, http://www.playframework.org 
~ 
~ Ctrl+C to stop 
~ 
Listening for transport dt_socket at address: 8000 
22:13:21,806 INFO ~ Starting /src/playtest 
22:13:21,811 INFO ~ Module securesocial is available (/src/play-1.2.4/modules/securesocial-0.2.4) 
22:13:21,811 INFO ~ Module crudsiena is available (/src/playtest/modules/crudsiena-2.0.2) 
22:13:21,812 INFO ~ Module siena is available (/src/playtest/modules/siena-2.0.7) 
Exception in thread "main" java.lang.UnsupportedClassVersionError: DocViewerPlugin : Unsupported major.minor version 51.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634) 
    at play.classloading.ApplicationClassloader.loadApplicationClass(ApplicationClassloader.java:166) 
    at play.classloading.ApplicationClassloader.loadClass(ApplicationClassloader.java:84) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
    at play.plugins.PluginCollection.loadPlugins(PluginCollection.java:158) 
    at play.Play.init(Play.java:294) 
    at play.server.Server.main(Server.java:158) 

Dường như có một Java 1,7 lớp biên soạn đâu đó chơi đó là cố gắng để chạy trên Java 1,6 VM.

Tôi đã chạy trò chơi sạch sẽ, đồng thời cũng xóa bộ nhớ cache ivy và chạy các vai trò phát để cài đặt lại tất cả các phụ thuộc. Tôi cũng đã tìm kiếm thư mục ứng dụng của tôi và thư mục cài đặt phát của tôi cho các tệp .class phân lớp và không tìm thấy tệp nào. Tôi cũng đã cố gắng xóa/tmp trong một tập tin trong đó đã được tham chiếu, nhưng nó không có hiệu lực.

DocViewerPlugin là một trong các plugin phát cốt lõi và tôi không cần nó, có cách nào để đưa vào danh sách đen không?

Trả lời

7

Bạn phải biên dịch mã bằng cách sử dụng tùy chọn -target 1.6.

+1

Aha! Đọc mà làm cho tôi nhớ rằng tôi đã không thay đổi java.source trở lại 1,6 trong application.conf. Cảm ơn! –

+0

Trên nhật thực, tôi đã phải sửa đổi thủ công tệp .classpath và tệp Tùy chọn. Và bây giờ nó hoạt động. – Pixelapp

+0

Bạn đặt '-target 1.6' ở đâu? Tôi đã thử cài đặt trong application.conf không thành công. – HelpMeStackOverflowMyOnlyHope

10

Tôi đã tìm ra. Trong application.conf, đảm bảo rằng java.source=1.6 được đặt.