Несколько 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
, если вы правильно ссылаетесь на правильную переменную среды, у вас все будет в порядке.