私は、JavaとPythonを使って、GUI用のJavaとバックエンド用のPythonを使ってプロジェクトを進めています。Java jarファイルからpythonスクリプトを呼び出す
Runtime r = Runtime.getRuntime();
String pyScript = "resources/script.py";
String scriptPath = getClass().getResource(pyScript).toExternalForm();
// Strip "file/" from path
scriptPath = scriptPath.substring(scriptPath.indexOf("/") + 1);
Process p = r.exec("python " + scriptPath)
Pythonスクリプトは、Javaプロジェクトのsrcフォルダ内のリソースと呼ばれるフォルダにあります。ボタンは次のコードを使用して押されたときにJavaプログラムは、Pythonスクリプトを呼び出します。このコードは、IDE(IntelliJ)でプログラムを実行すると動作しますが、.jarファイルを作成してスクリプトを実行しようとしても何も起こりません。プログラムが.jarファイル内のスクリプトを見つけられることを確認できます。 スクリプトを実行するにはどうすればよいですか?
'' r.exec(...)の前に '' System.out.println( "Scriptpath:" + scriptPath);を挿入してください。たぶんこれはあなたにヒントを与えます – JimHawkins
@JimHawkins私はjarを実行するとそれを表示するためにJOptionDialogを追加し、Pythonスクリプトを配置しました。 –
srcからスクリプトを移動して外に置くことができます。 srcの部分であれば、それ自体がコンパクトなファイルであるjarファイル内にバンドルされています。 Alrernateの方法は、実行時にscript.pyを動的に作成して実行し、.pyファイルを削除することです。 – Aditya