JavaからPythonを呼び出す方法にはいくつかの選択肢があります。以下に、その主な方法を紹介します。

1. ProcessBuilderを使用する

JavaのProcessBuilder APIを使用して、Pythonスクリプトを実行するネイティブOSプロセスを作成することができます。以下に、Pythonスクリプトを呼び出すための基本的なコードスニペットを示します。

ProcessBuilder processBuilder = new ProcessBuilder("python", resolvePythonScriptPath("hello.py"));
processBuilder.redirectErrorStream(true);
Process process = processBuilder.start();
List<String> results = readProcessOutput(process.getInputStream());
assertThat("Results should not be empty", results, is(not(empty())));
assertThat("Results should contain output of script: ", results, hasItem(containsString("Hello Baeldung Readers!!")));
int exitCode = process.waitFor();
assertEquals("No errors should be detected", 0, exitCode);

この例では、Pythonコマンドを実行し、引数としてPythonスクリプトの絶対パスを指定しています。

2. Jythonを使用する

Jythonは、PythonのJavaプラットフォーム実装で、JVM上で動作します。JythonがCLASSPATHにあると、フレームワークは自動的にこのスクリプトエンジンを使用可能であることを検出し、Pythonスクリプトエンジンを直接要求することができます。

ただし、JythonはPython 2.7までしかサポートしておらず、Python 3.xはサポートしていません。

3. GraalVMを使用する

GraalVMのPython(GraalPy)は、PythonのデータサイエンスライブラリをJavaや他のGraalVMで動作する言語に持ち込みます。GraalVMのポリグロットインターフェースを使用すると、JavaアプリケーションにPythonコードを埋め込むことが、これまで以上に簡単になり、パフォーマンスも向上します。

これらの方法を使用することで、JavaからPythonコードを呼び出すことが可能になります。ただし、使用する方法は、具体的な要件や状況によります。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です