質問
Java、Ada、C、およびPythonで書かれたバイナリのリストがあり、それらを実行したいと思います。どうやってやるの?これらの言語に拘束力のあるJVMはありますか?
解決
既存の申請を実行することだけをしたい場合は、 exec
からの方法 java.io.runtime
名前空間。
Runtime rt = Runtime.getRuntime();
Process ps = rt.exec("path to my executable.exe");
他のヒント
はい。これは、それを行う方法に関する良いブログ記事へのリンクです。 Javaでシステムコマンドを実行します.
その要点は、以下を行う必要があるということです。
// run the Unix "ps -ef" command
// using the Runtime exec method:
Process p = Runtime.getRuntime().exec("ps -ef");
そこにコマンドをかなり入れることができますが、JVMを実行しているパスのようなシステム環境変数に注意して遭遇した唯一のゴッチャです。
バイナリAPIと対話したい場合は、次のことを使用してください。
- Javaネイティブアクセス(JNA): :DLLの読み込みと呼び出し用。
- Javaネイティブインターフェイス(JNI): :JavaでCライブラリをラッピングするため。
所属していません StackOverflow