在PHP中运行JAR文件并编写一个文件

时间:2012-01-21 15:17:55

标签: java php file jar

在执行jar文件时,我在php中遇到以下问题。我使用以下命令:

exec("java -jar JavaProject4.jar";

JavaProject4.jar在java代码中给出的路径中创建一个txt文件。

当我在NetBeans中运行项目时,会创建txt文件。但是,当我在php中执行jar时,我没有得到任何错误,但我无法获取该文件。

这里是我用来编写文件的java代码:

public static void main(String[] args) throws InterruptedException, FileNotFoundException, IOException {

    Main a = new Main();
    List<Double> l1 = new ArrayList<Double>();

    l1 = a.compute_features();
    //System.out.println(l1);

    FileWriter fstream1 = new FileWriter("C:/wamp/www/test/out.txt");
    BufferedWriter out1 = new BufferedWriter(fstream1);
    out1.write(l1.toString());
    out1.newLine();
    out1.close();
}

我使用带有php 5.2.4的wamp服务器和最新的java版本。

非常感谢!

编辑: 问题解决了,我将NetBeans中的主要java文件移动到默认包并修复了错误的路径,现在一切都按预期工作。

谢谢大家

2 个答案:

答案 0 :(得分:1)

当你用PHP运行它时,你是怎么做到的?您使用的是PHP CLI(命令行界面),还是通过Apache模块(CGI或其他方式)运行它?我问的原因是因为你遇到的问题可能与脚本执行的用户有关。如果您使用的是CLI,那么您将作为Windows用户运行,但是,如果您通过Apache运行它,那么它就像运行Apache的用户一样运行。因此,您可能需要为要写入的目录的Apache用户提供相关权限。

此致 拉尔夫

答案 1 :(得分:0)

我认为您需要指定完整路径: - java可执行文件 - 你的罐子

示例:

exec(“/ usr / bin / java -jar /my/java/project/path/JavaProject4.jar”);