이클립스 SWT 연습중에 AutoResizeTableLayout 클래스를 이용해 레이아웃 연습중에 다음과 같은 에러가 발생한다.
JFace, SWT, 그리고 위에 나오는 runtime 라이브러리를 추가해도 같은 오류가 발생됐다.
문제 해결책은 다음 라이브러리를 추가해 주면 사라진다.
해당 라이브러리가 알게 모르게 내부적으로 참조하고 있었나 보다. 하지만 에러 표시가 없으니 해당 라이브러리가 필요한지 알기가 하늘에 별따기다. SWT 라이브러리 추가해서 연습하다 보면 비슷한 에러 발생시에도 해당되니 참고하자.
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runtime/Assert
at org.eclipse.jface.viewers.ColumnPixelData.<init>(ColumnPixelData.java:78)
at org.eclipse.jface.viewers.ColumnPixelData.<init>(ColumnPixelData.java:48)
at MyLayout.main(MyLayout.java:56)
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.Assert
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 3 more
at org.eclipse.jface.viewers.ColumnPixelData.<init>(ColumnPixelData.java:78)
at org.eclipse.jface.viewers.ColumnPixelData.<init>(ColumnPixelData.java:48)
at MyLayout.main(MyLayout.java:56)
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.Assert
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 3 more
JFace, SWT, 그리고 위에 나오는 runtime 라이브러리를 추가해도 같은 오류가 발생됐다.
문제 해결책은 다음 라이브러리를 추가해 주면 사라진다.
org.eclipse.equinox.common_xx.jar
해당 라이브러리가 알게 모르게 내부적으로 참조하고 있었나 보다. 하지만 에러 표시가 없으니 해당 라이브러리가 필요한지 알기가 하늘에 별따기다. SWT 라이브러리 추가해서 연습하다 보면 비슷한 에러 발생시에도 해당되니 참고하자.