2010-03-31 3 views
1

Eclipse 3.3을 사용하고 있습니다. 내 프로젝트에서 컴파일러 준수 레벨을 프로젝트의 빌드 경로에서 5.0으로 설정했습니다. Installed JREs 섹션에 Java 1.5 JDK를 추가했으며 프로젝트 빌드 경로에서 해당 시스템 라이브러리를 참조하고 있습니다. 그러나 Java 1.6 PreparedStatement에만 존재하는 추상 메서드를 구현하지 않기 위해 PreparedStatement를 구현하는 클래스에 대해 컴파일 오류가 발생합니다. 특히, 메소드Eclipse에서 내 프로젝트에 지정한 컴파일러를 사용하지 않는 이유는 무엇입니까?

setAsciiStream(int, InputStream, long) and 
setAsciiStream(int, InputStream) 

이상하게도 충분히 원래대로 작성된 Java 1.4와 비교하여 컴파일 할 때 유용했습니다. Java 1.4 용 JRE를 추가하고 프로젝트에서 해당 시스템 라이브러리를 참조하고 프로젝트의 컴파일러 레벨을 1.4로 설정하면 정상적으로 작동합니다. 그러나 Java 5.0을 가리 키기 위해 동일한 변경을 수행 할 때 Java 6을 대신 사용합니다.

이유가 무엇입니까?

나는 여기에, 비슷한 질문 이전에 쓴 :

how do I get eclipse to use a different compiler version for Java?

당신은 다른 컴파일러를 선택하기로되어 있지만 이클립스는 복용하지 않는 것 같다있는 방법을 알고있다. 내가 찾은 모든 Java 6 JDK와 JRE를 삭제했지만 Java 6을 기본값으로 사용하는 것으로 보입니다. Java 5 JDK를 가리키는 eclipse.ini의 -vm 옵션도 업데이트했습니다.

답변

2

이것은 컴파일러가 아니라 라이브러리에 관한 것입니다! 프로젝트의 속성으로 이동 한 다음 Java 빌드 경로/라이브러리에서 JRE 시스템 라이브러리를 제거합니다. 그런 다음 라이브러리 추가 ...를 사용하여 원하는 JRE 라이브러리의 버전을 추가하십시오.

+0

원래 게시글에 명시된대로 이미 완료했습니다. "... 프로젝트 라이브러리에서 해당 시스템 라이브러리를 참조하고 있습니다." – user26270

+0

@ codeman73 : 여하튼, Java 6 버전의 클래스가 클래스 패스에서 우선시되는 것 같습니다. 이미 하나의 JRE 라이브러리 만 참조하는 경우 Eclipse 기본 설정의 설치된 JRE 아래에서 JRE가 올바르게 설정되어 있는지 확인하십시오. "편집 ..."을 사용하여 Java에서 jar 파일에 대한 참조가 있는지 확인하십시오. 자바 6 JRE. 그런 다음 프로젝트를 청소하십시오. –

+0

설치와 관련하여 이상한 점이 있습니다. java_ee_sdk-5_03-windows.exe라는 파일에서 설치했지만 설치 프로세스가 시작되기 전에 설치 프로그램의 최종 요약 페이지에서 제품 : Java Platform, Enterprise Edition 5 SDK를 나열하지만 그 다음에는 그 아래에는 Java 2 SDK, Standard Edition 6.0이 나열됩니다. 이것은 정상적인가요 아니면 다른 버전 번호로 혼란 스럽습니까? J2EE 5는 JDK 6이 아닌 JDK 5를 사용한다고 가정합니다. – user26270

관련 문제