Проблема в том, что PS почему-то анализирует -Dresourcepath=.
иначе, чем cmd.То, что работает, это
java -cp '.;.\common.jar' -Dcontext=atest1 "-Dresourcepath=." DW_Install
Не имеет значения, в каком направлении идет косая черта, и не имеет значения, какие цитаты используются ('
или "
).Однако, путь к классам должен быть экранирован с помощью кавычек.Хороший тест, чтобы увидеть, что получает интерпретатор PS, это повторить его.Следующее:
echo java -cp '.;.\common.jar' -Dcontext=atest1 -Dresourcepath=. DW_Install
дает следующий вывод:
java
-cp
.;.\common.jar
-Dcontext=etaste1
-Dresourcepath=
.
DW_Install
(Обратите внимание, что путь к ресурсу и значение ресурса не находятся на одной строке.) В то время как вывод
echo java -cp '.;.\common.jar' -Dcontext=atest1 '-Dresourcepath=.' DW_Install
приводит к следующему выводу:
java
-cp
.;.\common.jar
-Dcontext=etaste1
-Dresourcepath=.
DW_Install
Что нам гораздо больше нравится.
Хотя я не желаю этого никому из вас, я надеюсь, что этот пост поможет темиз вас, которые должны развернуть проекты Java на машинах Windows (даже если они никогда не будут работать на любой другой платформе).