2009-09-16 4 views
1

Mac OSX에서 타사 JAR을 참조하는 Grails 응용 프로그램을 컴파일하려고했습니다. 내 시스템의 JRE와 JDK가 Java 1.6으로 설정되었지만 JAR에서 클래스에 액세스 할 때는 항상 Compilation error: java.lang.UnsupportedClassVersionError: Bad version number in .class file 이됩니다. 또한 기존 Grails 앱을 테스트 할 때 Java 1.6에서 실행중인 앱의 기본 통계가 표시됩니다. 따라서 Eclipse에서 Java 설정을 변경하려고 시도하는 것보다 더 많은 아이디어가 없었습니다.이 응용 프로그램의 개발을 위해 Eclipse를 사용하지 않았기 때문에 어리 석 었습니다. 그러나 이제는 명령에서 내 응용 프로그램을 컴파일합니다. 라인 잘 작동합니다!Eclipse JDK 설정이 시스템의 JDK 설정에 미치는 영향

Eclipse가 백그라운드에서 무엇을하고 있는지 설명 할 수 있습니까? 이전에 JAVA_HOME을 수동으로 설정했으나 효과가 없습니다.

+0

> 난 그냥 변경 Exclipe의 기본 JRE : 부작용이 없어야한다고 선언 된 "설치된 JRE"를 참조하는 경우 (Eclipse에서 참조 된 기존 프로젝트를 다시 컴파일하는 것을 제외하고 ...하지만 아무 것도 없다고 말했습니까?) 그래서 Eclipse가 첫 번째 장소?) – VonC

+0

Eclipse (및 추가 개발원 t는 Eclipse에서) Eclipse에서 다른 방식으로 env 변수가 처리 될 때 마지막으로 생각한 아이디어였습니다. Eclipse에서 기본 JRE 설정을 1.6으로 변경했습니다. JAVA_HOME은 이미 1.6이었습니다.) 그리고 커맨드 라인에서 다시 컴파일하려고했습니다. 나는 나 자신을 설명 할 수 없다. – david

답변

4

Eclipse를 시작하는 데 사용되는 JDK (JAVA_HOME)가 반드시 프로젝트를 컴파일하는 데 사용되는 것은 아닙니다.

어떤 JRE 출시 일식에 사용되는 하나가 될 것입니다 선언 하나를 추가하지 않은 경우 (기본 설정을 기본적으로

General > Java Installed JRE 

을 확인, JRE는 당신 y는 프로젝트에 선택할 수 있습니다을 확인하려면 귀하의 eclipse.ini에서 정의 할 수 있습니다).
프로젝트와 호환되는 것을 포함하여 원하는 다른 JRE를 추가 할 수 있습니다.

http://help.eclipse.org/juno/topic/org.eclipse.jdt.doc.user/tasks/images/task-add_jre_std_vm.PNG

그 후, 당신은 무엇 준수 수준 (또는 일반 환경 설정에서) JRE를 사용하는 어떤 프로젝트 속성에서 확인해야합니다 :

http://www.standartux.fr/public/Java/Preferences.png

+0

빠른 답장을 보내 주셔서 감사합니다.하지만 이전에 특정 프로젝트에 Eclipse를 사용하지 않았습니다. - Command Line과 TextMate! 여기 컴파일은 Java 5 프로젝트에서 Java 6 프로젝트를 실행하면 "잘못된 버전"오류로 작동하지 않습니다.하지만 Java 6처럼 보였습니다. 그런데 내가 언급 한 것과 똑같은 일을했습니다. Exclipse에서 기본 JRE를 변경했지만 Eclipse로 프로젝트를 가져 오지 않았으며 Eclipse를 사용하여 컴파일하지 않았습니다. 나는 여전히 "grails compile"명령을 사용하여 컴파일 중이었습니다. 그리고 이제는 오류없이 컴파일이 성공했습니다. 이상하게 들린다. – david