2011-06-30 21 views
1

EclipseからTomcatプロジェクトにバンドルする必要があるPythonスクリプト(ScipyとNumpyを含む)をJavaから実行したいです。 JavaからPythonを呼び出すのは簡単です:TomcatプロジェクトでJavaからPythonスクリプトを実行

対応するパスで呼び出すためにスクリプトをバンドルする方法を教えてください。これも可能ですか?

答えて

1

あなたはtomcatがありますので、あなたのプロジェクトはjarファイルにあると思います。このファイルはシステムではファイルとして利用できないかもしれませんが、あなたのjarファイルにのみバンドルされているので、Pythonインタプリタはそのファイルにアクセスできません。内容をInputStreamとして取得できます。あなたはここに例を見つけることができます。

How to get path of executed jar file

はその後、あなたは一時ファイルに書き込むことができ、あなたのexec -callでそのファイルを使用します。

+0

のための同じをバンドルする方法がわかりませんサーバー。 Eclipseにバンドルするにはどうすればいいですか? – Sney

1

最近、私はいくつかのことを似ていましたが、私は日食から実行することができます。

私はjythonplyjy

を使用私は、Eclipseプロジェクトのlibフォルダに両方の瓶(jython.jarとplyjy.jar)を維持し、プロジェクトのsrcフォルダに必要なのpythonファイルをコピーしました。

はその後、我々は、指定されたモジュールのオブジェクトを作成し、その特定のモジュールのメソッドを呼び出すことができるファクトリオブジェクトの助けを借りて、次のコード

PySystemObjectFactory factory = new PySystemObjectFactory(InterfaceTye, moduleName,ClassName); 

を使ってPythonオブジェクトのインスタンスを作成しました。

に配布するとき実際に私がして、「戦争」ファイルからのEclipseからそれを実行したい私はeciplseでそれを達成することができましたが、私は、ビルド

+2

これは、あなたがNUMPYまたはSCIPYを必要としない場合に備えて、jythonとplyjyを使った素晴らしいソリューションです。これが私がPythonにインターフェイスしたい主な理由です。どちらのパッケージもjythonではサポートされていません。 – Sney

関連する問題