Eclipse jar库[java.lang.NoClassDefFoundError]

时间:2013-07-26 14:37:50

标签: java eclipse netbeans

我正在尝试为我的项目添加一些库。当我调试应用程序时,一切都很完美,但是当我编译项目并运行它时,我得到:

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

看起来JVM无法获取库。我在NetBeans中尝试过相同的功能并完美运行,因此我认为这是Eclipse问题。

如果有人可以帮助我。提前谢谢!

2 个答案:

答案 0 :(得分:1)

您正在成功编译/导出代码,但是当您运行它时,您将丢失类路径中的库。

netbeans和eclipse之间的区别很可能是默认情况下,netbeans包含导出时jar中的所有库,而eclipse则不包括。如果您打算将所有内容打包在一个jar中,请确保从eclipse导出时在第一个导出屏幕上选择所有库。

如果您只想导出代码(如果您希望在不重建jar的情况下切换库的版本),则可以继续仅导出代码,但是在运行代码时,必须指定库中的代码。类路径

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

答案 1 :(得分:0)

在eclipse和Netbeans中检查你的类路径,你会看到差异,