2013-07-26 2 views
0

프로젝트에 라이브러리를 추가하려고합니다. 내가 응용 프로그램을 디버깅 할 때 모든 것이 완벽하게 작동하지만 내가 프로젝트를 컴파일하고 실행하면, 내가 얻을 : JVM이 라이브러리를 얻을 수 없다처럼Eclipse jar 라이브러리 [java.lang.NoClassDefFoundError]

Exception in thread "main" java.lang.NoClassDefFoundError: de/javasoft/plaf/synt 
hetica/SyntheticaSimple2DLookAndFeel 
     at pkg_main.FRM_Main.main(FRM_Main.java:56) 
Caused by: java.lang.ClassNotFoundException: de.javasoft.plaf.synthetica.Synthet 
icaSimple2DLookAndFeel 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     ... 1 more 

보인다. 나는 NetBeans에서 똑같은 것을 시도하고 완벽하게 작동하므로 Eclipse 문제라고 생각한다.

누구든지 나를 도울 수 있다면. 미리 감사드립니다!

+0

당신이 컴파일/실행하면 eclipse 내부에있는 것입니까, 아니면 eclipse에서 디버깅이 작동한다는 것을 의미합니까?하지만 javac를 사용할 때 그렇지 않습니다. – Thomas

+0

네, Eclipse로 응용 프로그램을 디버깅 할 때 완벽하게 작동하지만 컴파일 할 때 ("내보내기> JAR 파일> 마침") 그러면 [java.lang.NoClassDefFoundError]가 나타납니다. –

+0

내보내기 자체가 실패하거나 내보내기가 작동 한 다음 런타임에 실패합니다. – Thomas

답변

1

당신은 컴파일하고/성공적으로 코드를 수출하지만, 당신이 그것을 실행할 때 당신은 당신의 클래스 패스에서 라이브러리를 놓치고있어.

netbeans와 eclipse의 차이점은 기본적으로 netbeans는 내보낼 때 jar의 모든 라이브러리를 포함하고 eclipse는 포함하지 않을 가능성이 높습니다. 단일 항아리에 모든 것을 패키지하려는 경우 eclipse에서 내보낼 때 첫 번째 내보내기 화면에서 모든 라이브러리를 선택해야합니다.

코드 만 내보내려면 (jar 파일을 다시 작성하지 않고 라이브러리 버전을 전환하려는 경우) 코드를 계속 내보낼 수 있지만 실행할 때 라이브러리를 지정해야합니다 classpath에서

java -cp "yourJar.jar;lib/*" my.package.MainClass 
+0

오우 네가 맞아 !! 그것은 작동! 하지만 CMD를 통해 응용 프로그램을 실행하고 싶지 않기 때문에 어떻게 제대로 내보낼 수 있습니다. 대단히 고마워. –

+0

수출의 첫 번째 화면에서 수출 옵션을 확인하려고했지만 동일한 문제가 계속 발생합니다 –

+0

마침내 작동했습니다 !!! 정말 고마워요 :) –

0

모두 당신이 differnce을 볼 수 넷빈즈뿐만 아니라 Eclipse에서 클래스 경로를 확인

관련 문제