1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
1 | |
Не запускается собранный exe файл, в чем ошибка?18.06.2013, 12:29. Показов 9975. Ответов 17
Метки нет (Все метки)
Сделал .exe файл из .jar файла(сделанного в eclipse) через программу launch4j. на компе, на котором собирал запускается, на XP не запускается вообще - ничего не происходит после двух кликов по .exe файлу. на семерке пишет - main class not found - program will exit. где нужно указывать какой из классов главный? а может надо какие нибудь библиотеки вкладывать?
0
|
18.06.2013, 12:29 | |
Ответы с готовыми решениями:
17
Как запустить .exe файл, собранный, Qt? Не запускается ни один файл exe (Ошибка при запуске приложения 0xc0000005) Не запускается ни один файл exe (Ошибка при запуске приложения 0xc0000005) Не запускается собранный ПК |
18.06.2013, 14:27 | 2 |
в поле Main class. Тот класс, с которого начинается ваша программа (в котором содержится метод public static void main(String[] args))
Добавлено через 43 секунды Попробуйте запустить из консоли (cmd.exe), возможно туда выведутся сообщения об ошибках.
0
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
18.06.2013, 21:03 [ТС] | 3 |
В начале я так и сделал
И окно программы все равно не открылось - и обьяснений тоже небыло! Вот мои настройки launch4j https://www.cyberforum.ru/atta... 1371575332 (это basic) и https://www.cyberforum.ru/atta... 1371574916 (это classpath)
0
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
18.06.2013, 21:10 [ТС] | 4 |
вот что происходит в командной строке:
...а на компе где я создал exe при запуске в консоли происходит тоже самое, но программа запускается
0
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
19.06.2013, 22:11 [ТС] | 6 |
вы имеете в виду в поле *Main class(вкладка CLASSPATH) написать: arcpoast/EXTRUN? пакет тут это arcpoast.jar?
0
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
20.06.2013, 20:10 [ТС] | 8 |
вот: ...ошибку пишет
0
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
20.06.2013, 20:32 [ТС] | 9 |
кроме того вот что написано в первых 3х строках моего .jar ...
0
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
20.06.2013, 20:44 [ТС] | 10 |
...в 3х строках манифеста находящегося в моем arcpoast.jar
0
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
30.06.2013, 23:05 [ТС] | 12 |
В общем после долгого серфинга в гугле и неудачных попыток нашлось таки решение.
Опишу весь процесс создания (работоспособного) exe файла. 1) Качаем прогу для создания exe launch4j - http://sourceforge.net/project... 1.0-beta1/ 2) Качаем прогу для создания иконки - http://archive.nbuv.gov.ua/libdoc/bmp2ico.rar 3) У вас должна быть готовая программа - файл с расширением .java или txt 4) Cоздайте папку на диске C. Должно получиться - C:\mypackage 5) Откройте вашу программу (файл с расширением .java или txt) и в самом вверху допишите: package mypackage; (если ваша программа состоит не из одного файла - package mypackage; пишем во ВСЕХ файлах) 6) На диске C создайте файл MANIFEST.MF (текстовый файл с измененным расширением - MF) 7) Внутри MANIFEST.MF напишите: Manifest-Version: 1.0 Created-By: 1.6.0_19 (Sun Microsystems Inc.) Main-Class: mypackage.MyProgram После последней строки(Main-Class: mypackage.MyProgram) оставьте одну пустую. MyProgram - название вашей программы - файл с расширением .java или txt. Расширение файла в манифесте указывать ненужно 8) Переместите вашу программу в папку mypackage 9) Пуск>Выполнить - cmd(если семерка то вбивайте cmd прямо в строку поиска) Шаги 10 11 12 пишем в командной строке 10) cd c:\mypackage 11) javac MyProgram.java 12) cd c:\ 13) Теперь в папке mypackage удалите все кроме MyProgram.class (будем создавать jar файл) Если ваша программа консольная то в командной строке напишите: 14) jar cvmf MANIFEST.MF prog.jar mypackage Если же программа оконная возможно вам понадобится вложить в jar необходимые библиотеки. Чтобы узнать какие именно выполните шаг 14, затем в консоли напишите java -jar prog.jar Получите ошибку что не найдены конкретные библиотеки. К примеру если вы использовали менеджер расположения компонентов swing miglayout, тогда будет нужно из архива miglayout15-swing.jar (если вы используете eclipse, архив находится в папке вашего проекта) выдрать папку net и положить ее на диск C и вместо шага 14 выполнить шаг 15 15) jar cvmf MANIFEST.MF prog.jar mypackage net 16) запускаем launch4j в поле output file указываем где создать и имя exe. 17) В поле jar выбираем созданный нами на диске C prog.jar 18) переходим во вкладку JRE в поле Min JRE Version пишем 1.6.0, в поле Max JRE Version пишем 1.7.0 19) нажимаем на шестеренку(build) сверху. В окне log получаем сообщение об успешном создании exe файла. Чтобы создать иконку, в фотошопе создайте холст размерами 32 на 32 или 48 на 48 Потом это изображение в painte сохраните в формате .bmp и в проге bmp2ico сохраните картинку в формате ico Чтобы приделать иконку к exe файлу в launch4j во вкладке basic в поле Icon: укажите на ваш файл .ico
1
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
01.07.2013, 17:46 [ТС] | 13 |
Существует еще один нюанс. Созданный вами exe с большой вероятностью не будет работать на другом компе. Дело в разных jre(Java Runtime Enviroment). Для устранения этой проблемы у вас должен быть eclipse. В нем есть спецфункция которая позволяет компилировать программы под разные jre. Представьте себе программиста который написал и скомпилировал программу на eclipse, и у него на компьютере установлена jre7. Он выложил программу в интернет. Люди скачали, но у многих она не пошла(т. к. eclipse использует самый больший compilator compliance level:. из доступных - который в свою очередь зависит от установленных на комп jre). Дело в том что на многих компьютерах стоят старые jre(в основном jre6), ведь они же не занимаются программированием на яве и незная что это такое, и зачем им это нужно, не качают последние версии программы, в то время как программисты - люди разбирающиеся в таких вещах скачивают более новые.
Перейдем к сути, для того чтобы таких проблем не возникало нужно сделать следующее: 1) Запустите eclipse Затем на верхней панели: 2) Window>Show View>Package Explorer (по умолчанию он уже открыт, однако если вы зачем-то его закрыли то выполняем шаг 2) 3) Отмечаем в окне Package Explorer ваш проект(в самом верху) 4) Жмем Alt+Enter 5) В открывшемся окне, слева выбираем пункт Java Compiler 6) В блоке JDK Compliance - Убираем галочку со строки Use compliance from execution from enviroment... итд 7) В комбобоксе Compiler compliance level выбираем 1.6(для jre6) 8) Apply>OK Мы изменили настройки компилятора чтобы он копилировал вашу программу в промежуточный код (файлы class) понятный для jre6. Программы скомпилированные для старых jre без проблем пойдут на новых. Чтобы узнать какой JRE стоит на компе, заходим в Мой компьютер, C:\Program Files\Java (или Пуск>Найти>Файлы и папки: jre)и тут мы увидим папку jre6 или jre7 (может и меньше)итд. В зависимости от того как называется папка - такои же и jre стоит на вашем компьютере
0
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
01.07.2013, 17:53 [ТС] | 14 |
Вот картинки
0
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
02.07.2013, 12:22 [ТС] | 16 |
Ну, принцип я думаю не изменится... Просто у большинства моих друзей стоит 6ка и я привел пример с ней
0
|
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
|
|
17.08.2013, 21:32 [ТС] | 17 |
Те библиотеки которые вы будете вкладывать в jar архив (к примеру та же самая библиотека miglayout - это папка net из архива - miglayout15-swing.jar) должны иметь внутри ТОЛЬКО ФАЙЛЫ .class, иначе получим ошибку - не найден класс net/mignfocom/swing/MigLayout.
0
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
19.08.2013, 13:04 | 18 |
В общем случае невыполнимо - при создании jar штатными средствами там еще будет МETA-INF/manifest.mf
0
|
19.08.2013, 13:04 | |
19.08.2013, 13:04 | |
Помогаю со студенческими работами здесь
18
Не запускается ПК собранный из старых комплектующих Не запускается exe файл Не запускается exe файл Exe файл не запускается Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |