exe4j给了我一个记事本错误文件

时间:2015-04-08 02:44:35

标签: java jar exe4j

我试图从jar文件中创建一个exe。它做得很好,当我运行它时,它会给出一个像这样的记事本错误文件, (当我在netbeans(shift + F6)上运行时,它可以正常工作)

  

线程中的异常" AWT-EventQueue-0" java.lang.NoClassDefFoundError:   org / netbeans / lib / awtextra / AbsoluteLayout at   experiments.mp3Player.initComponents(mp3Player.java:115)at   experiments.mp3Player。(mp3Player.java:26)at   实验。主要$ 1.run(Main.java:17)at   java.awt.event.InvocationEvent.dispatch(未知来源)at   java.awt.EventQueue.dispatchEventImpl(未知来源)at   java.awt.EventQueue.access $ 500(未知来源)at   java.awt.EventQueue $ 3.run(未知来源)at   java.awt.EventQueue $ 3.run(未知来源)at   java.security.AccessController.doPrivileged(Native Method)at   java.security.ProtectionDomain $ 1.doIntersectionPrivilege(未知   来自)java.awt.EventQueue.dispatchEvent(未知来源)at   java.awt.EventDispatchThread.pumpOneEventForFilters(未知来源)     at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)     在java.awt.EventDispatchThread.pumpEventsForHierarchy(未知   来自java.awt.EventDispatchThread.pumpEvents(未知来源)     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)at   java.awt.EventDispatchThread.run(未知来源)引起:   抛出java.lang.ClassNotFoundException:   org.netbeans.lib.awtextra.AbsoluteLayout at   java.net.URLClassLoader $ 1.run(未知来源)at   java.net.URLClassLoader $ 1.run(未知来源)at   java.security.AccessController.doPrivileged(Native Method)at   java.net.URLClassLoader.findClass(未知来源)at   java.lang.ClassLoader.loadClass(未知来源)at   sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)at   java.lang.ClassLoader.loadClass(未知来源)......还有17个*

2 个答案:

答案 0 :(得分:1)

在exe4j中,您需要包含应用程序的所有依赖项Jars。当您使用Netbeans表单编辑器及其“默认”布局管理器时,您需要包含它的库Jar,它不是默认JRE的一部分。

exe4j

浏览到您的项目目录并查看dist\lib目录。您需要包含

中列出的所有jar文件

答案 1 :(得分:0)

这是因为您已针对netbeans jar对其进行了编译,但它们并未包含在类路径中。不管怎样,你必须让他们上课。您可以在jar导出中包含这些库,它们应该自动显示,或者您可以在启动exe时编辑它们在类路径中的位置(编辑它的启动脚本)。

我建议使用第一个选项,因为它使您在从系统到系统时更具可移植性。