java - 应用程序 (.jar) 错误 - NoClassDefFoundError

标签 java swing noclassdeffounderror executable-jar

我创建了一个 Java 应用程序并将其导出到 .jar 文件。 当我在 NetBeans 上的机器上运行它时,它运行得非常好,显示所需的输出和消息。

然而,我的 friend 在她的计算机上执行了它,但没有成功。我使用 Launch4j 将其转换为 .exe,但该应用程序仍然无法按需要工作。

我已经使用了 Jasypt 库并将所有 .jar 文件导入到项目中。 每当我运行它时。 Launch4j 抛出这些错误:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jasypt/util/text/BasicTextEncryptor
at encryption.Encryption.encryption(Encryption.java:44)
at encryption.Encryption.jButton1ActionPerformed(Encryption.java:174)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.jasypt.util.text.BasicTextEncryptor
    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)
    ... 39 more

谁能告诉我发生了什么事吗?

最佳答案

您应该创建一个主 jar 文件,其中包含所有需要的 jar(库),然后您可以使用 Launch4j 生成 exe 文件。

看这里 Launch4J - how to attach dependent jars to generated exe

关于java - 应用程序 (.jar) 错误 - NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43525543/

相关文章:

java - 无法执行 dex : Multiple dex files define. .. 或 NoClassDefFoundError

java - RandomAccessFile Java - 复杂性

JavaFX 启动内部应用程序类

java - 将Keylistener添加到全屏JWindow

java - JTextArea 不可见

java - 主类中未调用 ActionListener?

java - 无法初始化类 org.apache.axis.client.AxisClient 即使 Axis jar 在那里

java - JodConverter 抛出 NoClassDefFoundError

java - 根据邻居的值更新多线程单元。如何继续使用 CyclicBarrier?

java - 如何将带有时区的 PostgreSQL 时间戳转换为 DateTime?