Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/48: Рейтинг темы: голосов - 48, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
1

Не запускается собранный exe файл, в чем ошибка?

18.06.2013, 12:29. Показов 9975. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сделал .exe файл из .jar файла(сделанного в eclipse) через программу launch4j. на компе, на котором собирал запускается, на XP не запускается вообще - ничего не происходит после двух кликов по .exe файлу. на семерке пишет - main class not found - program will exit. где нужно указывать какой из классов главный? а может надо какие нибудь библиотеки вкладывать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2013, 12:29
Ответы с готовыми решениями:

Как запустить .exe файл, собранный, Qt?
Сам файл .exe я нашёл, но при попытке запуска выдаёт что система не обнаружила Qt5Widgets.dll,...

Не запускается ни один файл exe (Ошибка при запуске приложения 0xc0000005)
Сегодня стал обновлять винду через центр обновлений и что-то видимо пошло не так, при перезагрузке...

Не запускается ни один файл exe (Ошибка при запуске приложения 0xc0000005)
Всех приветствую! такая же ошибка после обновы! помогите плиззз! Восстановление не запускается!...

Не запускается собранный ПК
Люди,собрал комп,а он не запускается. При включении из блока питания идет тихий писк т.е. при...

17
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
18.06.2013, 14:27 2
Цитата Сообщение от appricot Посмотреть сообщение
где нужно указывать какой из классов главный?
в поле Main class. Тот класс, с которого начинается ваша программа (в котором содержится метод public static void main(String[] args))

Добавлено через 43 секунды
Цитата Сообщение от appricot Посмотреть сообщение
ничего не происходит после двух кликов по .exe файлу.
Попробуйте запустить из консоли (cmd.exe), возможно туда выведутся сообщения об ошибках.
0
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
18.06.2013, 21:03  [ТС] 3
Цитата Сообщение от turbanoff Посмотреть сообщение
в поле Main class. Тот класс, с которого начинается ваша программа (в котором содержится метод public static void main(String[] args))

Добавлено через 43 секунды

Попробуйте запустить из консоли (cmd.exe), возможно туда выведутся сообщения об ошибках.
В начале я так и сделал
И окно программы все равно не открылось - и обьяснений тоже небыло!

Вот мои настройки launch4j
https://www.cyberforum.ru/atta... 1371575332 (это basic)
и https://www.cyberforum.ru/atta... 1371574916 (это classpath)
Миниатюры
Не запускается собранный exe файл, в чем ошибка?   Не запускается собранный exe файл, в чем ошибка?  
0
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
18.06.2013, 21:10  [ТС] 4
вот что происходит в командной строке:



...а на компе где я создал exe при запуске в консоли происходит тоже самое, но программа запускается
Миниатюры
Не запускается собранный exe файл, в чем ошибка?  
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
18.06.2013, 22:09 5
Разумеется класс нужно указывать с полным именем пакета. И регистр также имеет значение.
Уверены что правильно указали?
0
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
19.06.2013, 22:11  [ТС] 6
вы имеете в виду в поле *Main class(вкладка CLASSPATH) написать: arcpoast/EXTRUN? пакет тут это arcpoast.jar?
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
20.06.2013, 08:02 7
Ладно, давайте так:
Ваша программа запускается просто из jar, без паковки в exe?
Покажите строку запуска, которую вы используете.
0
1 / 1 / 0
Регистрация: 15.06.2013
Сообщений: 21
20.06.2013, 20:10  [ТС] 8
вот: ...ошибку пишет
Миниатюры
Не запускается собранный exe файл, в чем ошибка?  
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
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
20.06.2013, 22:30 11
Код
java -jar 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
Миниатюры
Не запускается собранный exe файл, в чем ошибка?   Не запускается собранный exe файл, в чем ошибка?  
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
Вот картинки
Миниатюры
Не запускается собранный exe файл, в чем ошибка?   Не запускается собранный exe файл, в чем ошибка?  
0
2586 / 2259 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
01.07.2013, 23:37 15
вы забыли что до сих пор в ходу ява и 1.4 и 1.5, встречаются такие старые проекты, а на подходе 8ка, тогда и 7ка будет старой )
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
Цитата Сообщение от appricot Посмотреть сообщение
Те библиотеки которые вы будете вкладывать в jar архив (к примеру та же самая библиотека miglayout - это папка net из архива - miglayout15-swing.jar) должны иметь внутри ТОЛЬКО ФАЙЛЫ .class
В общем случае невыполнимо - при создании jar штатными средствами там еще будет МETA-INF/manifest.mf
0
19.08.2013, 13:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.08.2013, 13:04
Помогаю со студенческими работами здесь

Не запускается ПК собранный из старых комплектующих
Здравствуйте! Я хотел собрать комп из старых хламов в офисе. У меня имеется мат плата foxconn n...

Не запускается exe файл
Программа отлично запускается и работает, но только если ее запускаю через Qt Creator. Если я...

Не запускается exe файл
При компиляции в папке появляется exeшник, но он не запускается, а просто висит в процессах ....

Exe файл не запускается
Написал программу, она нормально запускается с разных компьютеров кроме одного. При попытке запуска...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru