2014-01-06 5 views
0

, 나는이 오류가 : 나는 여러 솔루션을 인터넷을 검색하여 발견 이클립스 실행 기능 : 내 컴퓨터 중 하나에서 Eclipse에서 자바 프로그램을 실행하려고하면 지원되지 않는 MAJOR.MINOR 버전

Exception in thread "main" java.lang.UnsupportedClassVersionError: gameLogics/Game : Unsupported major.minor version 51.0 

at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:621) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 

하지만 그들은 모두 컴파일 된 것보다 오래된 버전의 자바로 실행하려고했다. 유일한 해결책은 Java를 다시 다운로드하거나 이클립스의 준수 수준을 1.6으로 설정하는 것이 었습니다. 어느 쪽도 나를 위해 효과가 없었습니다. (준수 수준 1은 Java 7에서만 사용 가능한 일부 기능을 사용했기 때문에 작동하지 않았습니다. 이전에이 기능을 사용 했었지만 작동했지만 Java 7의 일부 기능이 필요했습니다.)

궁금한 점이 프로젝트는 저의 다른 컴퓨터는 환경 설정 파일과 응용 프로그램 데이터를 포함하여 정확히 동일한 파일을 사용합니다. 그것은 두 컴퓨터 중 하나에서 내 보내면 작동하기 때문에 Eclipse의 실행 기능 만 손상된 것 같습니다.

관련 부분이 하나도 없기 때문에 코드를 제공하지 않았으므로 모든 코드를 업로드해야합니다.

내가이 게시물의 앞부분에서 언급 한 해결책이 아닌가?

편집 : 중요하면 내 컴퓨터는 모두 Mac입니다.

+0

Eclipse가 이전에 설치된 Java 버전에서 실행 중일 수 있습니다. 시스템에 많은 jdk가 설치되어 있습니까? eclipse.ini에서 사용중인 -vm 매개 변수를 확인하십시오. – watery

+0

프로젝트> 정리를 시도하고 모든 것을 처음부터 재구성 해 보았습니까? BIN 폴더의 파일은 다른 버전의 JDK로 컴파일 된 다른 PC의 파일 일 수 있습니다. 또한 귀하의 경로 일 수 있으므로 http://stackoverflow.com/questions/7237536/exception-in-thread-main-java-lang-unsupportedclassversionerror-a-support를 살펴보십시오. –

+0

-vm 매개 변수가 없습니다. 다음은 파일의 내용입니다 : [eclipse.ini] (http://pastebin.com/NbHmrqj7). – Ontonator

답변

0

두 가지 옵션 :

  1. 그것은 경로 문제의이 : 참조하십시오 : Exception in thread "main" java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 51.0)
  2. 당신은 클래스 파일을 다시 작성해야합니다.

프로젝트를 다시 작성해 보셨습니까? 나는 청결하고 재건하기로 결심한다. 그래도 작동하지 않으면 bin 폴더로 이동하여 안에있는 모든 것을 삭제하십시오. 이클립스가 다른 컴퓨터에서 .class 파일을 지우지 않는 것으로 의심됩니다.

이것이 작동하지 않는 경우 링크가 경로 문제 일 수 있으므로 링크를 참조하십시오. 다른 게시물에 말했듯이 :

java.lang.UnsupportedClassVersionError happens because of a higher JDK during compile time and lower JDK during runtime.

그래서, 당신은 당신의 설정과 경로를 확인해야합니다. 대부분 다른 JDK 버전/레벨로 컴파일하고 실행할 수 있습니다.

+0

클래스 파일을 다시 만들려고했지만 그 효과가없는 것 같습니다. 또한 기본 JRE로 "Java SE 7 [1.7.0_45]"을 선택했으며 준수 수준 1.7로 컴파일 중입니다. JRE 경로가 올바른지 확인했습니다. 프로젝트의 라이브러리는 기본 라이브러리와 동일합니다. Mac OS X이 Java 6 사용을 주장한다는 사실과 아무 관련이 없습니까? 이클립스는 특정 JRE 시스템 라이브러리를 지정할 수 있기 때문에 그것이 중요하다고 생각하지는 못했다. – Ontonator

+0

준수 수준을 1.6으로 설정하고 어떤 일이 발생하는지 확인할 수 있습니까? –

+0

이 오류 메시지가 나타납니다 : 스레드 "main"java의 예외.lang.Error : 컴파일되지 않은 컴파일 문제 : \t gameLogics.Game에서 멀티 캐스트 매개 변수는 1.7 \t 이하의 소스 레벨에 허용되지 않습니다. (Game.java:126) \t at gameLogics.Game.main (Game.java:149) – Ontonator