Запустите файл JAR на PHP и напишите файл - PullRequest
4 голосов
/ 21 января 2012

У меня следующая проблема в php при исключении файла jar.Я использую следующую команду:

exec("java -jar JavaProject4.jar";

JavaProject4.jar создает текстовый файл по пути, указанному в коде Java.

Когда я запускаю проект в NetBeans, создается текстовый файл.Однако, когда я освобождаю флягу в php, я не получаю никаких ошибок, но я не могу получить файл.

Вот код 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();
}

Я использую сервер wamp с php 5.2.4 и последней версией Java.

Большое спасибо!

РЕДАКТИРОВАТЬ: Проблема решена, я переместил основной Java-файл в NetBeans в пакет по умолчанию, а также исправил неправильный путь, и теперь все работает как положено.

Спасибо всем

Ответы [ 2 ]

1 голос
/ 21 января 2012

Когда вы запускаете его с PHP, как вы это делаете?Используете ли вы PHP CLI (интерфейс командной строки), или вы используете его через модуль Apache (CGI или иным образом)?Причина, по которой я спрашиваю, заключается в том, что проблема, с которой вы столкнулись, может иметь отношение к пользователю, от имени которого выполняется скрипт.Если вы используете CLI, вы работаете как пользователь Windows, однако, если вы запускаете его через Apache, то он работает так же, как и любой другой пользователь Apache.Поэтому вам может потребоваться предоставить соответствующие разрешения пользователю Apache для того каталога, в который вы пишете.

С уважением, Ralfe

0 голосов
/ 21 января 2012

Я думаю, что вам нужно указать полный путь для: - исполняемый файл Java - твоя банка

Пример:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...