Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> exe файл Java программы 
:(
    Опции темы
dimoZa
Дата 9.10.2005, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.10.2005

Репутация: нет
Всего: нет



Привет! Очень волнует вопрос создания еxe-файла Java программы. Конечно есть встроенная функция, начиная с версии JBuilder 7, создания экзэшника, но он запускаеться только на тех компах, у которых поставлен JDK, а мне нужно создать экзэшник такой, чтоб он мог запускаться на любом компе, не от чего не зависимо, кто знает как сделать помогите плиз.
PM MAIL   Вверх
batigoal
Дата 10.10.2005, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Исполнение Java-программы без JRE невозможно.
Воспользуйся поиском, тема частенько обсуждается. Существуют сторонние программы для создания exe-файлов, но все они требуют установки JRE (либо включают ее в дистрибутив).


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
LSD
Дата 10.10.2005, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Lamer @ 10.10.2005, 08:35)
Существуют сторонние программы для создания exe-файлов, но все они требуют установки JRE (либо включают ее в дистрибутив).

Есть возможность полностью отказаться от JRE (вернее она будет в виде native кода вкомпилированна в приложение). Тема действительно неоднократно обсуждалась поищи по словам Jet Excelsior и GCJ.

Лично я пробовал Jet Excelsior, он действительно компилит в native код, приложение запускается без JRE, не требует никакой инсталяции. Единственное но, надо таскать с собой пару увесистых dll-ей.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
vzf
Дата 10.10.2005, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 10.9.2005

Репутация: нет
Всего: 5



Ну в линуксе можно скомпилировать java файл и получить исполняемый
Точно не помню, но что то вроде
> gcj Hello.java -o Hello.exe

могу ошибаиться в ключах запуска.

+ Есть какая-то утилита от Sun чтобы получить из класса exeшник, но не помню как называется, дома посмотрю
--------------------
Java - Write Once, Test EveryWhere!
PM MAIL   Вверх
Бонифаций
Дата 10.10.2005, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



gcj --main=Hello Hello.java -o Hello

И все.
Есть и под windows и под linux


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
dimoZa
Дата 10.10.2005, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.10.2005

Репутация: нет
Всего: нет



Цитата
gcj --main=Hello Hello.java -o Hello

Это где набирать надо и как под Windows.
Добавлено @ 14:23
Цитата(LSD @ 10.10.2005, 09:36)
Единственное но, надо таскать с собой пару увесистых dll-ей.

Насколько увесистых?
PM MAIL   Вверх
LSD
Дата 10.10.2005, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(dimoZa @ 10.10.2005, 15:22)
Насколько увесистых?

5-30Мб.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Бонифаций
Дата 10.10.2005, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



Цитата(LSD @ 10.10.2005, 15:36)
Цитата(dimoZa @ 10.10.2005, 15:22)
Насколько увесистых?

5-30Мб.

да ну, перестаньте,
вот у меня перед глазами скомпилированная небольшая явовская програмка с swt интерфейсом.
Сам exe файл - 1.2M,
swt-win32-3116.dll - 311K

из внешних зависимостей только kernel32.dll, advapi32.dll, msvcrt.dll, user32.dll и ws_32.dll - то естьто что обычно и использует самый стандартный экзешник.





--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
LSD
Дата 10.10.2005, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата
да ну, перестаньте,
вот у меня перед глазами скомпилированная небольшая явовская програмка с swt интерфейсом.
Сам exe файл - 1.2M,
swt-win32-3116.dll - 311K

из внешних зависимостей только kernel32.dll, advapi32.dll, msvcrt.dll, user32.dll и ws_32.dll - то естьто что обычно и использует самый стандартный экзешник.

1. Я говорил про тот exe-шник, что пораждает Jet Excelsior
2. Что то тут явно не так, в состав JRE входит порядка 14000 классов. и все эти классы скомплировались в 1.2M? Да я понимаю что не все они используются, но все равно графическое приложение 1500 классов должно использовать. К тому же куда делись нативные библиотеки JRE (awt.dll, java.dll, zip.dll - да вообщем полно их там)?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Бонифаций
Дата 10.10.2005, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



Цитата(LSD @ 10.10.2005, 17:01)
2. Что то тут явно не так, в состав JRE входит порядка 14000 классов. и все эти классы скомплировались в 1.2M? Да я понимаю что не все они используются, но все равно графическое приложение 1500 классов должно использовать. К тому же куда делись нативные библиотеки JRE (awt.dll, java.dll, zip.dll - да вообщем полно их там)?

я наврал... smile я посмотрел на upx-нутый экзешник. Сейчас перетранслировал и посмотрел. Сам exe (стрипнутый) примерно 4М. Все остальное так как я написал. Насчет всех этих бибок, так ведь линкуются только те классы, которые используются в программе. awt к примеру не используется тут вообще.

java.dll и т.д. в gcj вообще нет. В них нету необходимости. Это же нативный компилятор, там достаточно нужный код в библиотеку закатать..






--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
dimoZa
Дата 10.10.2005, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.10.2005

Репутация: нет
Всего: нет



Большое спасибо всем ответившим. Из-за таких объемов логично будет использовать экзещник от Delphi, но увы я его не знаю, придеться че-нить придумывать.
PM MAIL   Вверх
Ch0bits
Дата 10.10.2005, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 2
Всего: 62



Цитата(LSD @ 10.10.2005, 09:36)
Jet Excelsior

А чё он какой огромный? 56mb дистрибутивчик... авось за ночь закачаю, заценю.

Кстати никто не сравнивал скорости работы .jar(.class) и откомпиленых(.exe) java-программ?
А как насчёт стабильности работы, никаких глюков не наблюдалось?
PM WWW   Вверх
LSD
Дата 10.10.2005, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Vadim999 @ 10.10.2005, 21:29)
А чё он какой огромный?

Да там у них своя мини IDE для компиляции (кстати явно написанная на Java).
Цитата(Vadim999 @ 10.10.2005, 21:29)
Кстати никто не сравнивал скорости работы .jar(.class) и откомпиленых(.exe) java-программ?

Во первых зайди в "Очередные данные о "медленности" JAVA" и посмотри пост Бонифаций. Во вторых я сравнивал, и у меня JRE показало лучший результат чем Jet Excelsior, хотя JRE была самая последняя а Jet Excelsior годовалой давности.


Цитата
java.dll и т.д. в gcj вообще нет.

Не может этого быть! В этой библиотеке содержатся native методы для всего java.lang, java.io и некоторых других. Отказаться от этих методов нельзя в принципе, поэтому или они сами их реализовывали, гарантируюя при этом одинаковость поведения с Sun-овскими методами, или просто используют уже имеющуюся библиотеку от Sun (или линкуя ее в exe-шник или динамически подключая по ходу дела). Плюс код для тех классов что исполюзуются, а байт код значительно компактнее кода x86 процессоров.

Попробуй скомпилить демку Java2D из состава JDK и посмтореть сколько она будет занимать. Только для чистоты эксперимента запускай на чистой машине, где нет JRE.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
sergejzr
Дата 10.10.2005, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 6
Всего: 360



gcj для графики вообще gtk использует. Там сам экзешник маленький, но если все либы устанавливать, что ему нужны будут, то лучше уж поставить 15 МБ JRE и не мучаться.

К тому же весь пакет можно предоставить как одну программу. Посмотрите нашего охотника и инсталлятор к нему от Пегаса. Если не обращать внимание на стиль GUI, вообще можно не заметить, что прога на яве. А 15 МБ в наше время не вопрос. Хорошая прога должна минимум столько весить. Для важности smile



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Бонифаций
Дата 11.10.2005, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



Цитата(LSD @ 10.10.2005, 23:02)
Цитата
java.dll и т.д. в gcj вообще нет.

Не может этого быть! В этой библиотеке содержатся native методы для всего java.lang, java.io и некоторых других. Отказаться от этих методов нельзя в принципе, поэтому или они сами их реализовывали, гарантируюя при этом одинаковость поведения с Sun-овскими методами,

конечно сами. Это проект GNU Classpath ,совместимость там - ну новых модных штучек типа system.out.printf там нет, определенные странности наблюдаются , но в общем достаточно полная.


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
Бонифаций
Дата 11.10.2005, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



Цитата(sergej @ 10.10.2005, 23:15)
gcj для графики вообще gtk использует. Там сам экзешник маленький, но если все либы устанавливать, что ему нужны будут, то лучше уж поставить 15 МБ JRE и не мучаться.

почему gtk?? что привяжешь, то и будет использовать. swt на windows к примеру напрямую без gtk работает..

А насчет 15М jre - посмотрите:

bash-2.05b$ pwd
/usr/lib/j2sdk1.4.2_04/jre
bash-2.05b$ du -sk .
62942 .

то есть примерно 63M

на windows:

bash-2.05b$ pwd
/win_e/jre
bash-2.05b$ du -sk .
50720 .

то есть 50M







--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
LSD
Дата 11.10.2005, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Попробуй все же скомпилить Java2D. Вот она использует возможности Java2D API если не на 100% то уж на 80% точно. Мне интерестно она пойдет и насколько она шустрее будет.

P.S.
Цитата
из внешних зависимостей только kernel32.dll, advapi32.dll, msvcrt.dll, user32.dll и ws_32.dll - то естьто что обычно и использует самый стандартный экзешник.

Для запуска под виндой требуется cygwin?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Бонифаций
Дата 11.10.2005, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



Цитата(LSD @ 11.10.2005, 09:58)
Для запуска под виндой требуется cygwin?

нет не требуется.


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
sergejzr
Дата 11.10.2005, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 6
Всего: 360



Цитата
почему gtk?? что привяжешь, то и будет использовать. swt на windows к примеру напрямую без gtk работает..

Потму что GCJ использует GTK.
Цитата
bash-2.05b$ pwd

/usr/lib/j2sdk1.4.2_04/jre
bash-2.05b$ du -sk .
62942 .

Ты знаешь разницу между JRE и JSDK ?



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Бонифаций
Дата 11.10.2005, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



Цитата(sergej @ 11.10.2005, 11:18)
Цитата
bash-2.05b$ pwd

/usr/lib/j2sdk1.4.2_04/jre
bash-2.05b$ du -sk .
62942 .

Ты знаешь разницу между JRE и JSDK ?

обратите внимание на каталог, в котором подсчитывался обьем файлов..

Ну если вы не хотите проверить это сами, давайте посмотрим на живом примере. идем на java.sun.com, выбираем загрузку J2SE™ Runtime Environment 5.0 Update 5 для линукса, он по списку 15.67М, скачиваем, получаем

bash-2.05b$ ls -alh
drwxr-xr-x 4 walrus wheel 280 2005-10-11 12:40 .
drwx--x--x 97 walrus wheel 11176 2005-10-11 09:00 ..
-rw-r--r-- 1 walrus wheel 16M 2005-10-11 12:38 jre-1_5_0_05-linux-i586.bin

Запускаем его, он спрашивает лицензию, производит устновку, заходим в результирующий каталог и смотрим
bash-2.05b$ cd jre1.5.0_05/
bash-2.05b$ du -sk .
87377 .

то есть результат после установки 87 тыщщ 1к блоков грубо говоря 87М
Какие уж там 15М? там только один rt.jar на 34М





--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
sergejzr
Дата 11.10.2005, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 6
Всего: 360



Сносим яву с компа, совсем. Или берём комп. на котором явы не существовало ещё.
Идём на http://www.hunter.vingrad.ru/?view=downloads и качаем по первой ссылке Охотник 1.0 c JRE.
Запускаем инсталлятор. Работает smile
Всё удовольствие - 15.37 Мб

Ясное дело, что он распакуется и займёт сколько ему надо.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0711 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.