ОБЩАЯ ИНФОРМАЦИЯ:
Я использую программу, использующую более старый jkd, jdk-9.0.4, чтобы указать c. Для этого нужно, чтобы значение JAVA_HOME было установлено в jdk-9.0.4. В противном случае я не хочу использовать jdk-9.0.4, поэтому я написал командный файл, чтобы переключиться на jdk-9.0.4, запустить программу и вернуться к jdk-14 в конце.
ВЫДЕРЖКА КОДА:
SETX /m JAVA_HOME "C:\Program Files\Java\jdk-9.0.4"
GRADLEW runClient
SETX /m JAVA_HOME "C:\Program Files\Java\jdk-14"
ПРОБЛЕМА:
Я считаю, что cmd читает только переменные окружения при запуске файла, поэтому хотя я обновляю значение JAVA_HOME на SETX
, оно не подтверждает его. Я ищу какую-то команду, которая могла бы обновить значения переменных окружения sh cmd. Я ищу решение, которое не запускает два отдельных пакетных файла (один для обновления JAVA_HOME до jdk-9.0.4 и один для запуска программы и сброса JAVA_HOME).
ИССЛЕДОВАНИЯ:
Когда я просматриваю это в Интернете, все, что я могу найти, - cmd читает только переменные окружения при запуске файла бит и Единственное решение, которое он предлагает, - перезапустить cmd, чтобы получить обновленные значения. В идеале, хотя я не хочу этого делать.