无法通过PHP调用带有参数的Java程序

时间:2013-01-19 13:40:22

标签: java php parameters exec

我正在尝试将Java项目与网站连接起来。该项目位于“website_folder / data / backend”,那时我想测试以下示例是否有效:

[java code]

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”,以添加到目录路径-in exec命令 - 这:“i:/ xampp / htdocs / website_folder /“(I:\是我安装虚拟服务器-xampp的磁盘驱动器),但是徒劳无功。我是否对命令的语法做错了什么?

修改 我更改了命令以指向.jar文件(java -jar /data/backend/Project/dist/Project.jar 5),问题解决了。

1 个答案:

答案 0 :(得分:0)

试试这个:

"java -cp /data/backend/Project/build/classes/ project.Main 5"

这假设包含main方法的类位于包project中,并称为Main。如果不是这种情况,请相应调整。