2013-04-02 2 views
4

Я искал в Интернете и на этом форуме правильный способ включить Java Runtime Environment с моим Java-приложением.Установите JRE, если не установлен

Я знаю, что JRE зависит от машины и, следовательно, JRE для предоставления моего приложения изменится, если я захочу развернуть для MAC или Linux, например.

То, что я действительно хочу знать (при условии, что я уже говорил правильно), является:

«Есть ли способ, чтобы проверить, установлен ли JRE на компьютере клиента, и если не установить его перед пытаясь запустить мое приложение? "

Потому что я не думаю, что это возможно:

Как вы думаете, я должен развернуть мое приложение с папкой JRE, адаптированной к клиентской системе, и запустить мое приложение с помощью скрипта, используя java.exe содержащегося в папке JRE?

Это позволяет избежать установки каких-либо вещей Java, но это не выглядит как хорошая практика для меня ...

+1

[Возможный дубликат?] (Http://stackoverflow.com/questions/2716391/is-there-a- механизм-to-distribute-an-app-with-its-own-jre) – Andrew

+1

Как уже упоминалось, посмотрите на install4j; Вот пример использования платформы Netbeans - http: //netbeans.dzone.com/including-jre-in-nbi – hovanessyan

+0

Большое спасибо за пример. Я знал о install4j, но не смог заставить его работать на Mac. Я также попробую это :) –

ответ

3

Если приложение на стороне клиента, я хотел бы предложить оба варианта: установка с и ж/o JRE. Многие приложения Java предлагают обе установки. Например, приложение SmartGit позволяет загружать установку с помощью JRE или той, которая использует существующую JRE (где ее пользователи должны иметь совместимую версию java). Многие серверы приложений поставляются со своим собственным JDK, уже включенным в установку.

Таким образом, развертывание развертывания с помощью JRE прекрасное, если вы не хотите никаких проблем со своими клиентами; однако я бы разрешил установку без JRE (чтобы удовлетворить придирчивые :).

Если ваше приложение является серверным, обычно оно не поставляется с JRE, но опять же, это не правило.

Кроме того, ваш сценарий запуска/установки может проверить, установлен ли правильный JRE или JDK (если установлен JAVA_HOME и т. Д.), А затем выйти, если отсутствует JRE. Более того, скрипт может даже загружать Java и устанавливать его локально - хотя было бы более практичным использовать только JRE, которое вы подготовили с помощью приложения. Или, если обнаружена JRE, вы можете спросить пользователя, хотят ли они использовать существующую Java или в комплекте.

Связывание JRE не имеет большого значения. Даже иногда я устанавливаю Java-приложение с включенным JRE, потому что я включил свою систему, например. новая версия или 64-разрядная версия Java, которая не поддерживается приложением и так далее ...

Надеется, что это помогает;)

+0

Хорошо, спасибо. Очень полезный ответ :) Поскольку приложение, вероятно, будет распространено на CD-ROM, я думаю, лучше всего предоставить скрипт, который проверяет, установлена ​​ли Java, и если она не установлена. –

+1

Да, в вашем случае это было бы правдой. Обратите внимание, что вам даже не нужно полностью устанавливать JRE (если таковой существует), он может быть только там, в комплекте с приложением. – igr

1

java -version команда на CMD окон говорит JVM версии; поэтому вы можете решить, нужно ли устанавливать или нет на основе вывода этой команды.

C: \ Users \ 501200I958> Java -версия

java version "1.7.0_17" Java(TM) SE Runtime Environment (build 1.7.0_17-b02) Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

Смежные вопросы