![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
maxius |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 30.4.2004 Репутация: нет Всего: нет |
Написал приложение на Java (пара тройка классов), можно ли сделать так, чтобы оно было полностью независимым т.е. чтобы оно запускалось на любой машине, не требуя установки всего компилятора, за исключением VJM. (Например как в С есть исполняющий *.exe файл). В JAVA только *.bat ???
(надеюсь проблему изложил понятно) |
|||
|
||||
simanyay |
|
|||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: 3 Всего: 36 |
Судя по изучению структуры NetBeans IDE, jEdit etc. я обнаружил, что они все делают свой скрипт (а иногда и EXEшники) для конкретной системы. Т.е. в NetBeans IDE в папке bin находятся следующие файлы:
runide.bat - Windows runidew.exe - Windows executable runide.sh - Linux etc. Надеюсь, что помог Добавлено @ 20:01 Только что заметил, что они написали установщик (*.jar) и он настраивает всё под конкретную систему. И только что меня осенило, что если юзер поставил JVM, то ему достаточно java и java -jar -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
maxius |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 30.4.2004 Репутация: нет Всего: нет |
Спасибо, гляну...
|
|||
|
||||
maxius |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 30.4.2004 Репутация: нет Всего: нет |
Честно говоря понятия не имею как выполнять данную операцию.
Если правильно понял создать EXE-шник средствами Java можно ??? Это сообщение отредактировал(а) maxius - 30.4.2004, 20:21 |
|||
|
||||
DarkDS |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Нет. Средствами ява создать ехе ты не можешь. Есть утилиты, которые трансируют ява байт код в машинный код (где то был тред про них) Средствами ява можно создать jar файл (как его создавать тоже тред был). А вот этот файл как раз запускается средствами JVM То есть для запуска jar файла тебе нужно: 1, Уставновленная JVM (к примеру JRE от сана) 2. сам jar файл. Запуск последнего можно произвести так: 1. java -jar yourfile.jar (это команда действует только когда в майнфест файле прописан майн класс) 2. java -cp yourfile.jar package.MainClass (если майн класс лежит в корне, то пакедж не пишется. Майн класс - класс с майн методом. пишется без расширения) Добавлено @ 22:00 ЗЫ. бат файл в чаще всего содержит одну из 2-х последних команд. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Есть утилиты которые позволяют создавать исполняемые файлы из jar-ов. Например JBuilder может такое делать, создается исполняемый файл, который по сути представляет собой jar архив с запускающим его модулем и все, есть и сторонние утилиты для этих целей. На крайний случай можно воспользоваться саморапаковывающимися архивами. Но все эти методы требуют установленной Java машины.
А по поводу полного перевода байт-кода, в native код, это на мой взгляд возможно, только в ОЧЕНЬ ограниченном числе случаев (хотя я видел упоминание о компиляторе из Java в Си). -------------------- 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. |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
есть такая вещь gcj на всяких linux'ax пашет прекрасно. К сожалению на windows требует cygwin, потому что его версии, которые мне попадались были скомпилированы именно на cygwin'e. Чисто теоретически gcj можно скомпилировать например с VC++. Тогда должен работать без Cygwin'a.
|
|||
|
||||
simanyay |
|
|||
![]() Антон Ковалёв ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: 3 Всего: 36 |
А зачем это под Линуксом? Там можно настроить систему так, что Java проги будут запускаться как обычные. Т.е. не надо писать java myjavaprogram, а можно просто myjavaprogram. И чем это отличается от EXE? Под Windows, когда ставиться JRE, то все .jar файлы автоматически запускаются через javaw. Так что я просто два раза кликаю (ну или, чаще всего, нажимаю Enter) и JAR запускается. -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
Гость_maxius |
|
|||
Unregistered |
Огромное спасибо всем, я получил ответ на свой вопрос.
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Такого поведения можно и в виндах добиться: достаточно прописать ассоциации class, jar и PATHEXT добавить class и jar. 2 sergej.z А можно ссылочку? -------------------- 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. |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 6 Всего: 360 |
Что бы тебе не заниматься поиском зря, сообщу пару важных вещей, которые возможно сразу покажут подходит или не подходит тебе решение GCJ.
Пару пунктов за и против. пункты против существуют только для виндов:
Ну, а теперь, если тебя не смущают вышеизложенные пункты, линьки по сабжу: Проект GCJ Описание для виндов CYGWIN |
|||
|
||||
temporary |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 16.6.2003 Где: Germany Репутация: нет Всего: нет |
Тема уже была http://forum.vingrad.ru/index.php?act=ST&f=9&t=10136
|
|||
|
||||
Likurg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 25.4.2004 Репутация: нет Всего: нет |
Я создал ексешник с помощью JET, на моем компе все ок,а на чужом появляется командная строка и исчезает,ничего не запускается, что делать не подскажите?
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Попробуй начать с минимума: скомпилируй HeloWorld и проверь как он работает. Если заработает то проблема в твоей программе (вернее поиск надо вести в ней), а если нет значит надо смотреть на еастройки JET-а: целевая платформа, используемые библиотеки и т.д.
-------------------- 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. |
|||
|
||||
Stvan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 28.10.2003 Репутация: нет Всего: нет |
Тоже попробовал jet, все зашибись, но при запуске программы появляется досовское окошко. Может кто знает как его убрать ?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |