我正在尝试从 c 代码运行位于我的 Web 服务器上的 java 文件。当我加载网页时,一个 perl 脚本调用 ac 文件,然后调用 java 文件。
我在我的 c 文件中设置了呼叫:
System(java -cp <path> MyClass);
但是这个 System() 调用返回 256 - (我认为找不到文件)。
我也试过:
System(cd /<path> && java MyClass);
并得到相同的结果。
如果我通过 ssh 从终端运行完全相同的命令,它工作正常,只是当我尝试从浏览器运行代码时,它会给出此错误。
如果我的语法不正确,有什么想法吗?还是我做错了什么?它与我被迫使用的 perl > c > java 链有关吗?
编辑看来 c 运行时没有查看 $PATH。我添加了 java.exe 的绝对路径,它起作用了!呜呜
tldr
解决方案:
System("/opt/jdk1.6.0_43/bin/java -cp <path> MyClass");