Сборка Java-файла exe с launch4J имеет ошибку: «AWT-EventQueue-0» java.lang.NoClassDefFoundError: javax / persistence / NoResultException - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь создать файл .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

Спасибо заваша помощь

1 Ответ

0 голосов
/ 19 марта 2019

Эта ошибка означает, что ваш .exe не может найти класс.
Вероятно, это связано с тем, что вы экспортировали свой проект в качестве работающего JAR.

Существует несколько способов экспорта в работающий JAR, но вы можете, например:

  1. Экспорт проекта с библиотеками в отдельную папку рядом с вашим JAR
    -> Легко заменить библиотечные версии, но не самое чистое и самое портативное решение. Поскольку вы всегда должны включать отдельную папку с вашим .exe
  2. Экспорт проекта с библиотеками, извлеченными в ваш JAR
    -> Это более переносимо, чем 1., но может создать множество пакетов и исходный код в JAR
  3. Экспорт проекта с библиотеками, упакованными в ваш JAR
    -> Это более переносимо, чем 1. и позволяет легче заменить библиотеку, чем 2.

Поскольку оба варианта 2 и 3 имеют необходимые библиотеки, включенные в JAR, я думаю, что вы использовали что-то вроде option1.

Если вы добавляете необходимые библиотеки в ту же папку, что и сгенерированный .exe, он должен работать правильно.

Если это не объясняет вашу проблему или вы выбрали другой подход,
тогда, пожалуйста, обновите ваш вопрос необходимой информацией, и мы поможем вам в дальнейшем.

...