1

サーブレットからjarファイルを実行する際に問題が発生します。EclipseのWebプロジェクトの別のsevletで、引数を使用して別のJavaアプリケーションのjarファイルを実行する必要があります。

私はコードを次のように使用します

Runtime.getRuntime().exec("java -jar myproject.jar param1 param2 abc.xml");

上記のコードでは、パラメーターparam1およびparam2を指定して上記のjarファイルを実行すると、出力がabc.xmlに格納されます。しかし、問題は、myproject.jarのパスをコードで指定する方法がわからないことです。

myproject.jarをプロジェクトディレクトリにコピーしましたが、出力がありません。jarファイルのパスを指定する方法とjarファイルを配置する場所、および出力ファイルがどこに来るかわからないので、使用しようとしました。

このコードは、myproject.jarファイルをコアJavaプロジェクトディレクトリに配置し、出力ファイルabc.xmlがコアJavaプロジェクトディレクトリに作成される単純なコアJavaアプリケーションで正常に機能します。

案内してください。前もって感謝します。

4

1 に答える 1

2

これは、クラスパスの一部のJARに含まれているJavaコードを呼び出す正しい方法ではありません(あなたがそれをに配置したと思います/WEB-INF/lib)。そのJARファイルに含まれているコードを直接インポートして呼び出すだけです。

import com.packagefromjar.SomeMainClassInJar;

// ...

SomeMainClassInJar.main(new String[] { "param1", "param2", "/path/to/abc.xml" });

main()または、そのAPIが適切に設計されている場合は、メソッドを呼び出す代わりに、そのエントリクラスを直接使用します。

于 2012-10-10T22:17:43.387 に答える