0

「.jar」ファイルを実行するphpファイルがあります。コードを以下に示します

exec("java -Xmx1g -jar \"C:\Users\Roxy\Documents\NetBeansProjects\Entity Extraction\dist\Entity Extraction.jar",$output);  

これはエラーなしで正常に動作しますが、このコマンドで
配列 (たとえば$testArray ) を 'Entity Extraction.jar' ファイルに渡し、Java コードのメイン メソッドでアクセスする必要があります。

誰でもこれを行う方法を教えてもらえますか?

アップデート:

私のphpファイルには、

$testArr[0] = 'test1';
$testArr[1] = 'test2'; 

$str = "java -Xmx1g -jar \"C:\Users\Roxy\Documents\NetBeansProjects\Entity Extraction\dist\Entity Extraction.jar ";

foreach($testArr as $param){
 $str.=$param.' ';
}

exec($str,$output);
print_r($output);

私のJavaメインクラスには、

public static void main(String[] args) {
     int length = args.length;
     for (int i = 0; i < length; i++) {
          System.out.println(args[i]);
     }
}
4

2 に答える 2

1

コマンド ラインで jar を実行する場合、スペースで区切られた後に配置するすべてのパラメーターは、Extraction.jar自動的に args 配列に入ります。

したがって、配列で実行して、渡したい文字列を作成する必要があります。

 $str = "java -Xmx1g -jar \"C:\Users\Roxy\Documents\NetBeansProjects\Entity Extraction\dist\Entity Extraction.jar ";

foreach($testArr as $param){
 $str.=$param.' ';
}

exec($str,$output);

これは、配列に文字列または数値のみが含まれていることを前提としています。オブジェクトやその他の配列が含まれている場合は、このコードを少し操作する必要がありますが、アイデアは得られます。

于 2012-08-12T12:48:38.380 に答える
0

渡すprint_r($testArray,true);ことも、配列を循環してリストを作成する関数を書くこともできます。

于 2012-08-12T12:39:44.077 に答える