Запуск java программ

feliks28

Объясните плиз на пальцах (только в Гугл не шлите, я на модеме ) :
Как производится запуск *.class на компах где java не установлена?

margadon

Никак?

bobby

да, что-то в этом роде

margadon

Без ява-машины ничего выполняться не станет...

SCIF32

то же самое, что спрашивать --- как запускается exe, там где нет винды, доса и их эмуляторов?
java там сто-пудово должна быть.
ты наверное спрашиваешь про ява-апплеты в explorer? ну дык, в explorer вроде встроено что-то вроде jre. Запустить в отдельном окошке независимо от explorer-a *.class вроде нельзя.
так что как выход - ломишься на сайт явы, вроде www.sun.com, а дальше по ссылкам, а дальше сливаешь jre (или как-то по другому называется если тебе надо только запускать апплеты,
либо java sdk, если еще и разрабатывать что-то будешь.
ну если ты в ГЗ, то все есть в локалке --- на sun.com можешь узнать название файла, а затем в лориене найти.

margadon

я точно помню appletviewer.exe. А в эксплорере просто тэги нужные есть.

SCIF32

а мне казалось, что эта фигня ввиде dll-ки или вроде того...
вроде поискал на диске --- ни черта не нашел подобного
да, ява конечно у меня стоит, но и до того как ставил, апплеты в explorer-e работали

feliks28

А сколько она весит и есть ли какой-нибудь инсталлятор проверяющий есть ли на компе пользователя оная или нет?
Допустим я написал что-то типа текстового редактора (довольно просто, но при компиляции получим кучу *.class файлов). Как мне теперь донести это в удобоваримом виде до пользователя не помещая в readme.txt "пожалуйста скачайте виртуальную java машину или хрен че заработает"?
И не придется ли пользователю все равно запускать все из коммандной строки?
p.s. Я спрашиваю не про апплеты.

psm-home

Как вариант: берётся что-то вроде Install Anywhere и создаётся инсталляционный пакет. В него можно включить и дистрибутив JRE, при запуске оно посмотрит, есть ли в системе подходящая Java VM, и, если нет, установит её. Естественно JRE весит немало (например Sun JRE 1.3.1_03 в одном файле занимает 9 Mb так что распространять прогу типа текстового редактора вместе с JRE получается как-то некошерно.

viktor954

Например банк-клиент КБР банка (написанный целиком на Жабе) в свою установку включает СанЖабу, аккуратно заточенную под данный банк-клиент. В результате все классы самой прилы занимают около одного мега, и ещё сколько-то-до-фига - Жаба2РЕ...

feliks28

Хотелось бы jre не вкладывать в архив, а сделать что если ее нет, то предложить скачать из интернета...

SCIF32

наверное можно оформить как html страничка, ну а вумный браузер сам предложит юзеру скачать яву, если ее нет

feliks28

Не понял, что оформить как html-страничку?

irina-sokolov

если юзеров много и все они в одной организации работают, то это не очень умно. Поскольку траффик внешний необоснованный получится. Лучше просто посылать нафиг - пусть сисадмина вызывают.
А тот может на интранет выложить и по почте разослать или в логон-скрипте установить.
Кстати, в винде поставляется JVM версии 1.1.18 (кроме ХР с ИЕ 6.0 без сервис-пака)

viktor954

Не слушай его! Я думаю, достаточно проверить наличие в реестре ключа
HKEY_CLASSES_ROOT\Installer\Products\{8A0F841731866D117AB7000B0D410203}
Если он есть, то СанЖаба ЕСТЬ, если нет, то НЕТ (по крайней мере это ключ от 1.4.2.03) ...

irina-sokolov

а нафиг тебе все это надо?
может, проще будет подсказать, если будет известно, откуда ноги растут?

feliks28

Тогда, я так понимаю свой инсталлятор писать придется...

feliks28

Ну вот как вариант (вроде на самом деле собираюсь это делать ) :
У знакомых на работе такая ситуация : на комп можно ставить все что хочешь, но инет у них фильтруется, т.е. аськи нет...
Охота написать некий клиент-сервер на подобие асечного (примитивнее разумеется) и выложить куда-нить себе.
Они его скачивают и ставят. Если кого своего знакомого хотят подключить просто говорят ему ссылку, поэтому хотелось бы выход максимально простой для пользователя.
В идеале хотелось бы отдельно для win/linux получить exe'шники скомпиленные только с необходимыми классами, в другом идеале инсталлятор который предлагает в случае отсуствия jre:
1. Скачать полную jre с сановского сайта
2. Установить урезанный вариант с необходимыми классами/библиотеками...

feliks28

Если ни один из "в идеале" не осуществим, то что тогда?
И вообще интересно как люди java программы распространяют. Получается что мне ни разу не попадалась программа написанная на java т.к. я только exe'шники встречал...

irina-sokolov

вообще говоря, jre - это не экзотика. Могут у себя поставить в чистом виде нужной версии. Неясно, зачем так мучаться ради единичного случая.
Кроме того, есть еще асечные веб-клиенты, которые обходят эту проблему

feliks28

Блин ну почему диалог все время соскальзывает в сторону :
- Пойду куплю батон.
- Так у тебя ж еще полбуханки черного...

Все забили тогда на наличие jre!
Как мне тогда подготовить программу к запуску на чужом компе (С JRE! не кучу же *.class'ов копировать?

VitMix

Надо всё запаковать в .jar и туда же запаковать манифест, в котором указать, какой класс запускать. Тогда в Windows можно будет запускать прогу просто кликнув на .jar файл.

Realist

Между Java-апплетом и Java-приложением большая разница. Примерно как между консольным и GUI приложениями. Для запуска апплета в SDK обычно поставляется просмоторщик апплетов. Апплеты силльно урезаны в правах, так что в данном случае они ваще нафиг не помогут. Без java запустить ниче не получится, но можно написать тупой батник:
java mail
В чем маза всей затеи так и непонятно. Чем не катит Веб-аськи? По какому порту вы соединятся будете, если там фильтрация. По 80-ому? У вас прав хватит, чтоб сервер на этот порт вешать? А может можно порты зафорвардить?
Оставить комментарий
Имя или ник:
Комментарий: