티스토리 뷰

OSX 에서 이클립스로 SWT/JFace 작업 환경을 만들 때

일어날 수 있는 삽질을 포스팅 합니다.

1. No such file or directory
 컴파일 시 다음과 같은 오류가 발생하면서 컴파일이 안되는 경우가 있다. OSX 의 경우에 자바 환경이 미리 지원되기 때문에, 이런 문제는 정말 경로가 문제일 경우가 있다.
 예외 스택 추적에 보면 디렉토리 패스 중에 한글로 된 부분이 보인다.  맥용 이클립스에선 이 부분 때문에 컴파일 패스를 찾지 못한다. (윈도우에서는 테스트 못해봄)
Workspace 만 영문 패스로 변경해주면 문제 해결!!!

2. JFace 오류.
SWT를 Build Path 에 등록하고 컴파일 했을 시에 알수 없는 컴파일 오류가 발생할 때가 있다.
Exception in thread "Thread-0" java.lang.NoClassDeffoundError: ApplicationWindow
해결책
Build Path>>Add Variable>>Configure Variable>>new>>Name(아무거나), 
Path(이클립스 Home/plugin/org.eclipse.jface_X.X.X.X.jar 추가

Exception in thread "Thread-0" java.lang.NoClassDefFoundError:org/eclipse/core/runtime/IProgressMonitor

해결책
Build Path>>Add Variable>>Configure Variable>>new>>Name(아무거나), 
Path(이클립스 Home/plugin/org.eclipse.core.commands.X.X.X.X.jar 추가

Build Path>>Add Variable>>Configure Variable>>new>>Name(아무거나), 
Path(이클립스 Home/plugin/org.eclipse.equinox.common.X.X.X.X.Jar 추가


결론: 빌드패스를 추가하지 않아서 발생하는 일임. 위 3개 + SWT 빌드패스를 등록하면 정상적으로 개발환경을 만들 수 있다.

 문서를 보니까 이클립스가 버전업해서 나름 소스경로가 변경되어서 그렇다고 한다. 영문이라 자세한 내용을 확인해보긴 힘들고  IDE 의 리펙토링이 이루어졌다는데, 기본 환경만 최적화하고, 필요한건 쓰고 싶은 사람이 가져다 쓰라는건가보다. 

Snow Leopard Issue - Cannot load 32-bit SWT libraries on 64-bit JVM