Я пытаюсь создать сценарий PowerShell для переключения между несколькими версиями Java на моей машине с Windows. К вашему сведению, у меня нет доступа администратора к моему ноутбуку с Windows, поскольку это моя рабочая машина.
Как предложил @Prakash, я изменил код, чтобы отразить расположение моего локального пути jdk. р>
Код: Выделить всё
If($args[0] -eq "11")
{
$env:JAVA_HOME = 'C:\Program Files\Eclipse Adoptium\jdk-11.0.22.7-hotspot'
}else{
$env:JAVA_HOME = 'C:\Program Files\Eclipse Adoptium\jdk-8.0.402.6-hotspot'
}
If($args[1] -eq "17")
{
$env:JAVA_HOME = 'C:\Program Files\Eclipse Adoptium\jdk-17.0.10.7-hotspot'
}else{
$env:JAVA_HOME = 'C:\Program Files\Eclipse Adoptium\jdk-8.0.402.6-hotspot'
}
If($args[2] -eq "21")
{
$env:JAVA_HOME = 'C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot'
}else{
$env:JAVA_HOME = 'C:\Program Files\Eclipse Adoptium\jdk-8.0.402.6-hotspot'
}
$env:Path = $env:JAVA_HOME+'\bin;'+$env:Path
java -version
Я указали путь к этой папке в системных переменных > PATH. (Поскольку у меня нет доступа администратора, я попросил команду службы поддержки ServiceNow помочь мне добавить это в переменные системного пути)
Но когда я открываю новое окно PowerShell и запускаю следующее команды jdk 11 или jdk 17 или jdk 21 Я все еще получаю версию Java 1.8.0
Код: Выделить всё
PS C:\Users\xxxxxx> jdk 11
openjdk version "1.8.0_402"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_402-b06)
OpenJDK 64-Bit Server VM (Temurin)(build 25.402-b06, mixed mode)
PS C:\Users\xxxxxx> jdk 17
openjdk version "1.8.0_402"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_402-b06)
OpenJDK 64-Bit Server VM (Temurin)(build 25.402-b06, mixed mode)
PS C:\Users\xxxxxx> jdk 21
openjdk version "1.8.0_402"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_402-b06)
OpenJDK 64-Bit Server VM (Temurin)(build 25.402-b06, mixed mode)
Что мне здесь не хватает? Пожалуйста, направляйте меня. Спасибо
Подробнее здесь: https://stackoverflow.com/questions/779 ... powershell
Мобильная версия