用launch4J构建java exe文件有错误:“AWT-EventQueue-0”java.lang.NoClassDefFoundError:javax / persistence / NoResultException

问题描述 投票:0回答:1

我正在尝试从我的应用程序生成.exe文件。它在Netbeans上正常工作,但我无法生成.exe文件。这是错误:

大段引用

Executing: D:\dev\tools\stock_exchange\stock_exchange\src\App\MarketSimulator.exe
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/persistence/NoResultException
    at org.stock.simulator.view.Home.<init>(Home.java:28)
    at org.stock.simulator.view.Home$11.run(Home.java:822)
    at java.awt.event.InvocationEvent.dispatch(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.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: javax.persistence.NoResultException
    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)
    ... 16 more

这是我的图书馆结构:enter image description here

谢谢你的帮助

java exe launch4j
1个回答
0
投票

此错误表示您的.exe无法找到该类。 这可能是由于您将项目导出为可运行的JAR的方式。

有几种方法可以导出到可运行的JAR,但您可以举例如下:

  1. 使用库在JAR旁边的单独文件夹中导出项目 - >易于更换库版本,但不是最干净或最便携的解决方案。因为您必须在.exe中包含一个单独的文件夹
  2. 使用提取到JAR中的库导出项目 - >这比1.更便携,但可以在JAR中创建很多包和源代码
  3. 使用打包到JAR中的库导出项目 - >这比1更便携,并且允许更容易的库替换而不是2。

由于选项2和3都包含JAR中包含的必要库,我认为您使用了类似option1的内容。

如果在生成的.exe所在的文件夹中添加必要的库,则应该正确执行。

如果这不能解释您的问题,或者您采用了不同的方法, 那么请用必要的信息更新您的问题,我们会进一步帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.