Я использую Puppet для автоматизации установки java. При этом мы сначала устанавливаем JAVA_HOME environment
в любую версию Java, которую мы устанавливаем. Затем мы добавим %JAVA_HOME%
к Windows PATH
. Таким образом, если какая-либо другая версия java используется, она не будет использовать ее и вместо этого использовать все, что есть в JAVA_HOME
. Проблема, с которой я работаю, - это когда я запускаю dir %JAVA_HOME%
Я возвращаюсь
"Система не может найти указанный путь"
Тем не менее, когда я echo %JAVA_HOME%
это дает мне правильный путь к JDK.
Должен ли я ожидать, что dir %JAVA_HOME%
покажет мне содержимое каталога? Если нет, то почему? У нас есть еще одна программа, которая работает с одним и тем же методом Puppet, и при выполнении dir M2_HOME
(maven) он правильно распечатает содержимое каталога.
Java -version
все еще работает
Странное разрешение. Первоначальный способ, которым мы это занимались, действительно работает. Однако JAVA_HOME
не может быть C:\Program Files\xxxxxxx
этого нужно C:\PROGRA~1\xxxxxx
чтобы он отображал содержимое каталога.
PROGRA~1
не Program Files
. Windows не может обрабатывать встроенное пространство.
вам нужно удалить bin из java home и добавить% java_home%/bin
dir "%JAVA_HOME%"