2012-03-28 2 views
11

OpenJDK 1.7에서 게임을 실행하고있었습니다. 내가 OpenJDK 1.6 만 지원하는 heroku에 배포하려고 시도하기 전까지는 모든 것이 훌륭하고 훌륭했습니다. 나는 그것을 나는 다음과 같은 오류를 실행하는 이동 그러나 때, 오픈 JDK 1.6에서 실행 구문을 고정 :프레임 워크 재생 - JRE 6에서 UnsupportedClassVersionError를 수정하는 방법?

[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) 

그 놀이는 자바에서 실행하려고 어딘가에 컴파일 된 자바 1.7 클래스가있는 것 같습니다 1.6 VM.

나는 깨끗한 상태로 실행하고 아이비 캐시를 삭제하고 모든 종속성을 다시 설치하기 위해 deps를 실행합니다. 또한 app 디렉토리와 play 디렉토리에서 stray .class 파일을 검색했고 아무 것도 찾지 못했습니다. 또한/tmp 파일을 지우는 시도가 참조되고 있었지만 아무 효과가 없었습니다.

DocViewerPlugin은 핵심 플레이 플러그인 중 하나이며, 블랙리스트에 추가 할 필요가 없습니다.

답변

7

-target 1.6 옵션을 사용하여 코드를 컴파일해야합니다.

+1

아하! 읽기 때문에 java.source가 application.conf에서 1.6으로 다시 변경되지 않았다는 것을 기억하게되었습니다. 감사! –

+0

Eclipse에서 .classpath 파일과 환경 설정 파일을 수동으로 수정해야했습니다. 그리고 이제는 효과가 있습니다. – Pixelapp

+0

'대상 1.6'은 어디에 설정합니까? 나는 성공없이 application.conf에서 설정을 시도했다. – HelpMeStackOverflowMyOnlyHope

10

나는 그것을 알아 냈다. application.confjava.source=1.6이 설정되어 있는지 확인하십시오.