Java 11 не устанавливает переменную среды Java

обычно при установке обновленной JRE переменные среды будут установлены так, что при выполнении любой команды Java в CMD будет использоваться новая версия.

Я только что установил JDK 11, у которого нет эквивалента JRE - ну, это в JDK, - но java-команды все еще отправляются в JRE 8.

Для меня это не проблема, я всегда могу сам изменить переменные среды и указать на "C:\Program Files/java/jdk-11/bin/java.exe", но любой, кто хочет использовать мою программу, для которой требуется Java 11, не будут установлены их переменные, и просить их об этом слишком много.

Почему они не устанавливаются при стандартной установке Java 11? Я глупый?


person Edmund Bevan    schedule 25.10.2018    source источник
comment
но любой, кто хочет использовать мою программу, для которой требуется Java 11 ... разве для запуска вашего кода им не потребуется использовать Java 11 в любом случае? Я имею в виду, предполагаете ли вы здесь, что код, разработанный на Java 11, будет работать со средой выполнения Java 8?   -  person Naman    schedule 25.10.2018
comment
@nullpointer Думаю, в этом суть. Вам придется попросить пользователей установить Java 11 и попросить их поиграться с переменными среды. imho лучшее решение - связать JRE, созданную с помощью jlink, с приложением.   -  person Jorn Vernee    schedule 25.10.2018
comment
@JornVernee согласился, и я считаю, что для облегчения этой части уже ведется некоторая работа над такими инструментами, как jlink, для создания приложений с JRE в комплекте. Но это все равно будет надолго.   -  person Naman    schedule 25.10.2018
comment
объединение JRE кажется пустой тратой времени - я думаю, это делает его независимым от платформы и все такое, но я только что написал пакетный скрипт, который ищет папку JDK 11 и запускается оттуда. Сохраняет программу небольшой!   -  person Edmund Bevan    schedule 26.10.2018


Ответы (1)


Oracle по-прежнему продвигает 8 в качестве установки Java для «конечных пользователей». Вот почему это единственное, что вы можете найти на java.com. Более новые версии Java предназначены либо для внутреннего использования на серверах, либо для включения в состав самого приложения. Последний вариант - то, что вам нужно.

person Michael Stroud    schedule 25.10.2018
comment
Мне все еще нужно найти авторитетный источник, в котором четко указано, что я могу связать Java 11 JRE (созданную с помощью jlink) с программным обеспечением, не подпадающим под GPL. Все лицензионные файлы говорят о немодифицированном дистрибутиве. И расширение пути к классам не ясно, так как оно, по-видимому, не относится ко всем частям JDK. - person a_horse_with_no_name; 25.10.2018
comment
Вы знаете, как долго Java 8 будет версией для конечных пользователей? Я был приятно удивлен тем, что никто не сообщал о каких-либо проблемах Java 11 с моей программой JavaFX, несмотря на то, что основная версия по-прежнему представляет собой JAR-файл в стиле Java 8, который можно запускать где угодно, но я не понимал, что это, вероятно, связано с Java 8. по-прежнему используется по умолчанию для конечных пользователей. - person CBusDeveloper; 30.10.2018
comment
У @CBusDeveloper Azul есть хорошая статья об этом (и часы обратного отсчета Java 8): azul.com/think-moving-jdk-9-sometime-next-year-think - person Jorn Vernee; 15.11.2018