我的程序在Eclipse中运行良好,但抛出作为jar文件运行的异常

时间:2010-11-10 01:47:15

标签: java eclipse

我的小程序在Eclipse中运行良好但在导出并作为jar文件运行后不会运行。这是运行时抛出的异常。 (我可能只需要一个关于导出到jar文件的好文章的链接)。谢谢你的帮助。


Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widge
ts/Layout
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Layout
        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)
Could not find the main class: EnterNames.EnterNames. Program will exit.
*******

3 个答案:

答案 0 :(得分:2)

  

(我可能只需要一篇关于导出到jar文件的好文章的链接)

这不是那么简单。如果您的应用程序依赖于SWT类,那么您需要将应用程序配置为在Eclipse之外使用SWT。这不仅仅是添加正确的JAR文件的问题。 SWT使用本机库与主机操作系统的窗口系统进行通信。

Eclipse FAQ描述了如何为基于SWT的独立应用程序创建JAR。

答案 1 :(得分:0)

您的程序正在使用属于Eclipse产品的类。您需要更改代码以不使用这些类,或者识别这些类所在的jar,并确保它们是程序的类路径的一部分。然后,正如@irrelephant所说,您可以设置清单,也可以在命令行类路径参数中设置它们。

答案 2 :(得分:0)

您需要在jar文件中使用SWT类。在您的jar文件中加入swt.jar,然后按this entry on eclipse faq