我有一个最初在Ubuntu上开发的PHP脚本,它现在必须在Windows机器上运行,执行这样的java程序:
exec("java -jar {$filename}");
// Process output
这在Windows上无法正常工作。我已经发现,虽然我可以在命令提示符下使用java -version
但我无法在exec()
中使用它,即找不到java的问题。
我有一个解决方法,如果脚本在Windows上运行,则使用C:\Program Files\Java\...\java.exe
的完整路径指向java.exe。不幸的是,尽管这是硬编码到当前机器上的路径,其可能在不同的系统上改变或变化,例如,将Java安装到其他位置或安装不同版本(JRE / JDK / 6/7)时。
如何在不调用java.exe的确切位置的情况下在Windows上调用Java?
答案 0 :(得分:2)
您需要在Windows上设置环境变量,才能访问没有路径的java
答案 1 :(得分:0)
即使这个问题有点老了,我遇到了同样的问题,在没有PATH要求的情况下,我找到了一个非常简洁的解决方案。
此文件夹中的所有java executabled都有一个符号链接:
C:\ProgramData\Oracle\Java\javapath
例如:只需致电
C:\ProgramData\Oracle\Java\javapath\java.exe -jar XYZ.jar