Я пытаюсь запустить runtime.exec(String[],null, new File(directory))
с первыми двумя аргументами, которые являются «cmd» и «/ c».java runtime.exec cmd/c разбор аргументов
Я пытаюсь указать версию java для запуска моего tomcat. Похоже, что аргументы cmd/c приводят к тому, что runtime.exec анализирует все аргументы путем определения пространства или, возможно, более подходящим образом cmd анализирует каждый аргумент.
Так,
cmd /c .\bin\Tomcat7.exe //US//Tomcat7 --Jvm="C:\Program Files\Apache Tomcat 7\jre\bin\server\jvm.dll"
является получение Jvm аргумент разбивается на аргументы "C: \ Program", "Files \ Apache", "Tomcat ..... который вызывает не быть в состоянии интерпретировать аргументы. цитирование аргументы, как представляется, игнорируются, а также.
есть ли способ либо сделать ссылку на Jvm аргумента уважаться ЦМДОМ или использовать указанный каталог в Runtime.exec?
Спасибо за считывание.
Я определенно рассматривал это, но это оказалось слишком хрупким, поскольку каталог мог быть ... E:/Мой каталог/какое-то место глупо/... – Tyrel
затем проверить мое последнее редактирование (конец сообщения) –
Это похоже, работает. Первоначально я переключился с использования runtime.exec (команда String) как «cmd/c» C: \ Program Files \ Apache Tomcat 7 \ bin \ Tomcat7.exe "// US // Tomcat7 --Jvm = \" C : \ Program Files \ Apache Tomcat 7 \ jre \ bin \ server \ jvm.dll \ "" не смог оценить первый аргумент/каталог, поэтому я переключился на использование exec (String [], env, File) – Tyrel