Can';t通过PHP调用带参数的Java程序
我正在尝试将一个Java项目与一个网站连接起来。该项目位于“website\u文件夹/data/backend”中,此时,我想测试以下示例是否有效: [java代码]Can';t通过PHP调用带参数的Java程序,java,php,parameters,exec,Java,Php,Parameters,Exec,我正在尝试将一个Java项目与一个网站连接起来。该项目位于“website\u文件夹/data/backend”中,此时,我想测试以下示例是否有效: [java代码] public static void main(string args[]) { if(args[0].equals("5") { File f = new File("/location/to/file/result.txt"); if(!f.exists()) { f.creat
public static void main(string args[]) {
if(args[0].equals("5") {
File f = new File("/location/to/file/result.txt");
if(!f.exists()) {
f.createNewFile();
FileWriter fstream = new FileWriter("/location/to/file/result.txt");
BufferedWriter out = new BufferedWriter(fstream);
out.write("It works!");
out.close();
}
}
}
在PHP文件中,我必须执行以下命令:
<?php
exec("java -cp /data/backend/Project/build/classes/project/Main.class/ main 5",$output);
?>
但是什么也没发生!我的意思是,文件不是在我在main方法中指定的目录中创建的。我尝试在PHP命令中运行该项目的.jar文件,通过变量传递参数“5”,在exec命令中添加到目录路径:“I:/xampp/htdocs/website\u folder/”(I:\是我安装虚拟服务器-xampp-的磁盘驱动器),但没有成功。我是不是在命令的语法上出错了
编辑:
我将命令更改为指向.jar文件(java-jar/data/backend/Project/dist/Project.jar 5),问题就解决了。试试这个:
"java -cp /data/backend/Project/build/classes/ project.Main 5"
这假设包含
main
方法的类位于包project
中,称为main
。如果不是这样,请相应调整。请在中尝试接受的解决方案,然后报告。您不能指向.class文件。正如adarshr所说,您可以尝试一下,看看它是否有效。它应该告诉您找不到class main
。我尝试了两种解决方案(export DYLD_LIBRARY_PATH=“”;并指向.class文件夹),但什么都没有发生。我正在使用Windows8。这是否意味着我必须在“java-cp”之前指定一些内容?我是说java的位置还是什么?在一些示例中,我看到一些人添加了“/usr/bin/java”,这肯定与Linux有关。