Выполнение Java из CLI через exec () под Windows - PullRequest
1 голос
/ 30 марта 2012

У меня есть PHP-скрипт, изначально разработанный для Ubuntu, который теперь должен запускаться на компьютере под управлением Windows, с использованием java-программы следующим образом:

exec("java -jar {$filename}");
// Process output

Это не работает должным образом в Windows. Я уже выяснил, что хотя я могу использовать java -version из командной строки, я не могу использовать его в exec(), то есть проблема в том, что java не может быть найден.

У меня есть обходной путь, указывающий на java.exe, используя полный путь к C:\Program Files\Java\...\java.exe, если скрипт выполняется в Windows. К сожалению, хотя это жестко связано с путем на текущем компьютере, который может измениться или измениться в другой системе, например при установке Java в другое место или на другую версию (JRE / JDK / 6/7).

Как вызвать Java в Windows без указания точного местоположения java.exe?

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

Вам нужно установить переменную окружения на окнах, чтобы иметь возможность доступа к Java без пути

http://www.java.com/en/download/help/path.xml

0 голосов
/ 17 августа 2015

Даже если этот Вопрос немного старше, я столкнулся с той же проблемой и нашел для нее довольно удобное решение без требования PATH.

В этой папке есть символические ссылки на все исполняемые файлы Java:

C:\ProgramData\Oracle\Java\javapath

например: просто позвоните

C:\ProgramData\Oracle\Java\javapath\java.exe -jar XYZ.jar
...