2013-09-03 1 views
1

Grails 애플리케이션을 Java 6에서 Java 7로 마이그레이션하는 중입니다.이를 위해 Java 6에서 계속 컴파일하고 런타임 환경을 Java 7.이 환경을 통해 마이그레이션됩니다. 완료되면 빌드 서버가 Java 7로 업그레이드되므로 Java 7에서 컴파일이 시작됩니다.Grails STS 환경에서 런타임과 컴파일을위한 JRE가 다릅니다.

문제점은 로컬 시스템의 환경을 복제하여 Incompatible Class Change Error과 같은 문제를 해결하는 것입니다. 빌드 경로를 Java 6 JDK로 지정하고 환경 설정 -> Java -> 컴파일러를 1.6 준수 으로 변경하고 환경 설정 -> Java -> Java JDK를 사용하도록 설치된 JRE로 변경했습니다. 내가 System.getProperty("java.class.version")를 호출 할 때

내가 클래스 파일을 나타내는 50.0을 받게 될 것이라고 나는 51.0 그것을 나타내는 그러나 자바 (6)와 수신 컴파일 된 것은 자바 7

에서 컴파일 또 어떤 것은 내가 변화 할 필요가있다 ?

답변

0

클래스 경로와 관련없는 오류에서 큐를 가져 오는 중 classpath container for Grails in STS .ivy2 및 .grails 폴더를 삭제했습니다. 여하튼 이전에 컴파일 된 파일은 정리에도 불구하고 오래되었습니다. 동일한 프로젝트 (다른 ​​브랜치)에 대해 동일한 .ivy2 및 .grails 폴더를 사용하고있을 가능성이있는 여러 작업 공간이 있습니다.

1

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성 -> Java 컴파일러를 클릭하고 프로젝트 별 설정 사용을 선택 취소하십시오. 이 작품은 [당신의 Grails의 작업 공간 경로]로 이동하지 않는 경우

는 /. \ org.eclipse.debug.core.launches을 metadata.plugins하고 올바른

를 탐지하는 자바 경로가 포함 된 파일을 편집
+0

문제는 일부 .grails 파일이 정리되지 않는 것이 었습니다. 이 문제를 해결하면 문제가 해결됩니다. – Joseph

관련 문제