#java #exe #launch4j
#java #exe #launch4j
Вопрос:
Я пытаюсь создать exe-файл из своего приложения. Он корректно работает на Netbeans, но я не могу сгенерировать exe-файл. это ошибка:
Цитата из блока
Executing: D:devtoolsstock_exchangestock_exchangesrcAppMarketSimulator.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
Это структура моей библиотеки:
Спасибо за вашу помощь
Ответ №1:
Эта ошибка означает, что ваш .exe не может найти класс.
Вероятно, это связано с тем, что вы экспортировали свой проект в виде JAR с возможностью запуска.
Есть несколько способов экспортировать в исполняемый файл JAR, но вы можете, например :
- Экспортируйте проект с библиотеками в отдельную папку рядом с вашим JAR
—> Легко заменяемые версии библиотеки, но не самое чистое или переносимое решение. Поскольку вам всегда приходится включать отдельную папку с вашим .exe - Экспортируйте проект с библиотеками, извлеченными в ваш JAR
—> Это более переносимое, чем 1., но может создать множество пакетов и исходного кода в JAR - Экспортируйте проект с библиотеками, упакованными в ваш JAR
—> Это более переносимое, чем 1. и позволяет проще заменить библиотеку, чем 2.
Поскольку оба варианта 2 и 3 содержат необходимые библиотеки, включенные в JAR, я бы подумал, что вы использовали что-то вроде option1.
Если вы добавите необходимые библиотеки в ту же папку, что и сгенерированный .exe, он должен выполняться правильно.
Если это не объясняет вашу проблему или вы выбрали другой подход,
тогда, пожалуйста, обновите свой вопрос необходимой информацией, и мы поможем вам в дальнейшем.
Комментарии:
1. Здравствуйте, спасибо за ваш ответ. То, что я сделал, это опция 2.It работает на моем компьютере, но не на другом компьютере. Я даже экспортировал свой javaBundle (jre) в папку установки, которую я создаю…