Привет, я хочу создать exe-файл для моего Java-приложения.
Я пытался с некоторыми сторонними программами JEXECreator, успешно создал исполняемый файл и он нормально работает в моей системе, когда я пытался с другой машиной, он не работает. Я получил следующую ошибку
* The error occurred while running the application. The exit code is 0x10000223.
* Contact the vendor of the application for troubleshooting.
java.lang.ClassNotFoundException: com.sample.SampleMain
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.ucware.JEXEClassLoader.run(Unknown Source)
at com.ucware.JEXEClassLoader.main(Unknown Source)
**************************************
Я знаю, что с указанным мной путем к классу что-то не так.
На самом деле я хочу создать exe-файл самостоятельно, без использования стороннего программного обеспечения.
Я нашел шаги на многих сайтах
Создан файл манифеста с именем Sample.mft со следующим содержимым
Manifest-Version: 1.0
Main-Class:
Class-path:
В этом у меня есть некоторые сомнения,
Как следует добавить главный класс, с полным именем пакета (com.sample.SampleMain) или только с именем класса (SampleMain) или с расширением (SampleMain.class)
Как следует добавить путь к классам, у меня в проекте 4 класса java и 2 jar. Как добавить все это в путь к классу, и мне нужно добавить java jdk в classpath.
Где файл манифеста должен быть сохранен
Каким должно быть расширение файла манифеста (mf или mft)
В командной строке из какого каталога мне следует создать исполняемый файл (из папки моего проекта, папки src или из папки, содержащей все классы java)
Какой синтаксис следует использовать при создании jar в командной строке
(jar cmf Sample.mf Sample.jar Sample1.class Sample2.class Sample3.class Sample4.class jar1.jar jar2.jar) как этот или (jar cvfm Sample.jar sample.mf * .class)
Когда я сделал что-то подобное, я получаю jar вместо exe-файла. Когда я запускаю jar в командной строке, используя "java -jar sample.jar", я получаю исключение класса не найден ".
На самом деле, как создать exe-файл вместо jar-файла, то есть, просто дважды щелкнув по exe-файлу, нужно запустить мое приложение на любой машине.
Может кто-нибудь помочь мне сделать это?
Заранее спасибо.