Будет ли установка другой версии JRE на одном сервере вызывать нестабильность? - PullRequest
0 голосов
/ 16 сентября 2009

Я пишу Java-программу с использованием JAVA 6. Сервер нашей компании использует JAVA 5. Они отказываются обновлять ее до 6, поэтому в качестве обходного пути можно установить еще одну JRE 6 на той же машине. Они задаются вопросом, будет ли установка другой версии JRE причиной нестабильности?

Что делает процесс установки? Просто скопируйте файлы и настройте переменную среды? Изменит ли это какой-либо реестр или другие настройки?

Ответы [ 2 ]

4 голосов
/ 16 сентября 2009

Несколько JRE могут находиться на одном компьютере. Однако, если вы устанавливаете JRE6, это то же самое, что и обновление до Java 6. Java 6 (насколько я могу судить) может запускать весь старый код Java. Однако двоичный файл Java 6 (файлы .class и .jar) не может быть выполнен с использованием Java 5, если они не были скомпилированы для предыдущей версии.

Если вам нужно, вы можете настроить Java 5 с помощью Java 6 JDK. Существуют аргументы командной строки для javac, которые вы можете использовать (или включить в Ant и, возможно, в другие инструменты сборки), чтобы указать целевой JRE. Например, если вы использовали параметр командной строки -target 1.5, используя свой JDK, созданные файлы .class или .jar будут выполняться с использованием Java 5 JRE.

Прошло много времени с тех пор, как я запустил два JRE бок о бок, но, если ничего не изменится, будут два отдельных файла java.exe (в любом случае в Windows) - один для предыдущей Java 5 JRE и один новый для Java 6 JRE. Из-за именования в пути одновременно может находиться только один файл - все файлы имеют одинаковые имена, поэтому вы не можете одновременно включить Java 5 и Java 6 java.exe и ожидать, что правильный волшебным образом запустить. Однако вы можете оставить Java 5 JRE на своем пути и вручную запускать Java 6 java.exe при запуске приложения.

Если вы используете JAVA_HOME, установленный на Java 5 JRE, и установите новую переменную среды на Java 6 Java Home, скажем, JAVA_1.6, если вы правильно ссылаетесь на правильную переменную среды, у вас все будет в порядке.

0 голосов
/ 05 декабря 2009

Вы можете определенно иметь оба. Если вам «позволено», может быть, вы могли бы связать JRE, которое вы хотите с вашим приложением? Этот URL говорит о том, как .. http://forums.sun.com/thread.jspa?threadID=708451

...