2012-01-21 18 views
4

jarファイルを実行するときにPHPで次のような問題があります。私は次のコマンドを使用します:PHPでJARファイルを実行してファイルを書き込む

exec("java -jar JavaProject4.jar"; 

JavaProject4.jarは、javaコードで指定されたパスにtxtファイルを作成します。

NetBeansでプロジェクトを実行すると、txtファイルが作成されます。しかし、私はPHPでjarをexcecute私はエラーが発生しないが、私はファイルを取得することはできません。

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を使用して:

は、ここでのJavaコードは、私は、ファイルを書き込むために使用します。

ありがとうございます!

EDIT: 問題が解決され、NetBeansのメインJavaファイルをデフォルトパッケージに移動し、間違ったパスを修正したところ、すべてが期待通りに機能しています。 Java実行可能ファイル - - あなたのjarファイル

例 :

のexec( "は/ usr/binに/ javaの

おかげでみんな

+0

あなたは 'のexec()'で右のパスを使用しているあなたは確かにいますか? –

+0

はい、以下の答えで私のコメントを読んでください。助言がありますか?ありがとう! –

答えて

0

私はあなたのために完全なパスを指定する必要があることだと思います-jar /my/java/project/path/JavaProject4.jar ");

+0

彼はWindowsではなく、Linuxではありますが(私はあなたの意見があります) –

1

PHPで実行すると、どうしていますか? PHP CLI(コマンドラインインターフェイス)を使用していますか、またはApacheモジュール(CGIなど)を介して実行していますか?私が尋ねる理由は、あなたが抱えている問題が、スクリプトが実行されているユーザーと何か関係がある可能性があるからです。 CLIを使用している場合、Windowsユーザーとして実行していますが、Apacheを使用している場合は、Apacheが実行しているユーザーとして実行されます。したがって、書いているディレクトリのApacheユーザーに関連する権限を与える必要があるかもしれません。

よろしく、 Ralfe

+0

PHPでtxtファイルを作成する簡単なJARファイルを作成しました(Apacheモジュールを通してWAMPを使用しています)。だから私は推測することはできませんが、Javaコードについてのいくつかの他の問題があります。従属するJARファイルがなくなっている可能性がありますか、またはメインクラスに何か問題がある可能性はありますか?どうすればそれをチェックできますか? –

関連する問題