Я делаю небольшую программу для запуска. После изучения немного, я обнаружил, что это было потому, что я использовал устаревший метод runtime.exec (string) , который не работает правильно, когда такие вещи, как файлы, содержат в них пространства (мой пользователь Windows для ноутбука Windows Имеет место, в то время как у моего пользователя компьютера нет). Однако, как только я перешел на новый метод Runtime.exec (string []) , я продолжал получать ошибку «не может запустить программу» ... »: createProcess error = 2, система не может найти файл Указано ". Я очень запутался в том, почему это не работает, учитывая, что это работало с устаревшим методом. Вот команда, которую я пытаюсь запустить: < /p>
Код: Выделить всё
"powershell.exe cd 'c:\\Users\\%u\\Documents\\GitHub\\JGame-1.0.0'; & 'C:\\Program Files\\Java\\jdk-21\\bin\\java.exe' '@C:\\Users\\%u\\AppData\\Local\\Temp\\cp_b1tap17rzruuy5jvwumf417xx.argfile' 'JGameStudio.Studio.Studio'"
(любое появление %u заменяется текущим пользователем Windows во время выполнения).
Я проверил это еще немного, и это кажется, это проблема Java? Запуск его с помощью программы «Выполнить» (Windows Key + R) работает отлично, как и запуск его с помощью сценария PowerShell. Теперь я еще больше запутался.
Любая помощь приветствуется!
Подробнее здесь:
https://stackoverflow.com/questions/793 ... -execution