2012-07-05 3 views
18

이전에 JRE7을 사용하고 JRE7 시스템 라이브러리를 참조한 Eclipse 프로젝트가 있습니다. JRE6에서 지금 실행해야합니다. 소스 코드 자체가 전적으로 호환되도록 Java 7의 특정 구문을 사용하지 않았습니다. 다음은 이미 수행 한 작업입니다.Eclipse 프로젝트를 이전 Java 버전으로 변환하려면 어떻게해야합니까?

  • I JDK6이 설치되었습니다.
  • 그런 다음 Window> Preferences> Java> Installed JREs으로 이동하여 JRE6을 기본값으로 설정했습니다.
  • 내 프로젝트의 빌드 경로이 JRE6 시스템 라이브러리가 아닌 JRE7 시스템 라이브러리를 참조하도록 구성되었습니다.
  • 마지막으로 구성 실행> JRE으로 이동하여 JRE6에서 실행되도록 설정했습니다. 1.7

    을 그리고 때 실행 : 프로젝트의 .class 파일 호환성

    JRE 호환되지 않습니다 :

즉시 그 마지막 단계 후, 대화의 상단라는 메시지를 보여줍니다 프로젝트에서 다음과 같은 오류 메시지가 나타납니다.

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) 

앞서 언급 한 것처럼 실제 코드는 프로젝트는 Java 6 구문과 다르지 않으므로 JRE6에서 실행됩니다. 아마도 소스 코드에서 모든 .class 파일을 다시 컴파일해야 할 필요가있을 것입니다. 나는 이클립스가 자동으로 이렇게 할 것이라고 생각했다. 어떤 아이디어?

+6

빌드 디렉토리를 정리 했습니까? – sergiofbsilva

+0

또한 이전 버전의 Java가 있는지 확인하십시오. 업데이트하거나 컴퓨터에 버전을 다시 설치해야 할 수 있습니다. – Kurty

답변

35

첫째, 프로젝트 청소 :

프로젝트>

그 일을 해결되지 않으면 청소를 ... 프로젝트 특정 자바 컴파일러 확인

둘째

:

프로젝트> 속성 > Java 컴파일러

+0

나는 실제로 이미 언급 한 두 번째 단계를 수행했으나 프로젝트를 정리/다시 작성하지 않았고 수정 한 것으로 보입니다. 고마워요! – Jonathan

3

이클립스가 자동으로 이렇게 할 것이라고 생각했습니다. 어떤 아이디어?

아니요. 요청하지 않으면 Eclipse에서 모든 프로젝트를 지우지 않습니다. 수정 한 소스의 생성 된 클래스 파일 만 정리합니다. 솔루션을 깨끗하게 빌드하고 모든 것을 다시 빌드하고 다시 실행해야합니다. 정상적으로 작동합니다.

1

프로젝트를 정리해도 문제가 해결되지 않은 경우를 생각해 보았습니다. 실제로 프로젝트를 닫고 다시 열어 특정 프로젝트가 제대로 작동하도록해야했습니다.

7

콜린 (Colin)이 제공 한 두 번째 방법이 저에게 효과적이었습니다.모든

enter image description here enter image description here enter image description here enter image description here

0

감사 :

여기서 그 방법에 대한 모든 단계의 시각적 표현이다. 해결되었지만 다른 맛을 추가하는 다른 방법을 추가하고 싶습니다.


는 그것은 파일 project_directory/.settings/org.eclipse.jdt.core.prefs에서 수동으로 프로젝트 환경 설정을 편집 한 후 이클립스에서 프로젝트를 새로 고침하여 수행 할 수 있습니다.

Change from 1.7 to 1.6

관련 문제