2010-04-29 8 views
0

Eclipse 2.1에서 오래된 프로젝트가 있고 JDK 1.4.2_12로 컴파일되었습니다. 이클립스 버전을 이클립스 갈릴레오로 업그레이드하고 싶다.두 가지 버전의 Eclipse가있는 Java 컴파일

프로젝트를 가져 와서 컴파일 레벨을 1.4로 설정하고 올바른 JDK를 사용하도록 빌드 경로를 업데이트했습니다.

문제는 이클립스의 두 버전에서 클래스 폴더에있는 컴파일 된 파일을 비교할 때 MD5 체크섬이 다르다는 것이다.

그 사실에 대해 걱정해야합니까, 그렇지 않습니다.

답변

3

이것은 정상입니다. Eclipse 컴파일러는 1.4 JVM 사양을 준수하는 한 클래스 파일 구조를 자유롭게 변경할 수 있습니다. 1.4 JVM이 클래스를로드하고 실행하면 아무런 문제가 없습니다.

진정한 경우에는 Eclipse 컴파일러가 아닌 JRE와 일치하는 JDK를 사용하여 최종 빌드를 수행해야합니다.

+1

이것은 사실입니다. 필자는 같은 JDK 버전이라도 eclipse 컴파일러와 javac를 사용하는 사이에 컴파일 된 클래스 파일에서 차이점을 발견했습니다. 만약 당신이 모험을 좋아한다면 클래스 파일에서 실행되는'javap '의 결과를 비교할 수있다. (최대 상세도 설정) 컴파일 된 프로그램은 똑같은 일을한다. 그러나 컴파일 된 클래스 형식 및 Java 바이트 코드에 대한 자세한 지식이 필요하며 가파른 학습 곡선입니다. – Geoff

0

프로그램이 작동하는 한 걱정하지 않아도된다고 생각합니다 !!! MD5는 각 엔티티마다 고유하므로 해시 값을 나타냅니다.

0

어쨌든 완전히 기존의 클래스 파일을 지우는 것이 좋습니다. 이클립스에 대한 나의 경험은 증분 빌더가 예기치 않은 상황에 잘 대처하지 않는다는 것이다.

관련 문제