このコマンドをターミナルで実行する必要があるバイナリ実行可能ファイル (ソースコードなし) があります。エクスポート LD_LIBRARY_PATH = "" を使用して、ディレクトリにあるライブラリ lbtiff.so.3 にリンクします。このエクスポート コマンドを実行した後にのみ、バイナリを実行できます。そうしないと、エラーが発生します - 「共有ライブラリの読み込み中にエラーが発生しました: libtiff.so.3...
ここで、Java コードからこのバイナリを実行したいと思います。ただし、ランタイムで export コマンドを実行するだけでは何も実行されず、Java からバイナリを実行すると「error while ..」エラーが引き続き発生します。UNIX 固有の環境変数 LD_LIBRARY_PATH を Java から設定できない可能性があると思います。Java からバイナリを実行し、ライブラリを見つける方法はありますか? ここに私の現在のコードがあります -
Process p = Runtime.getRuntime().exec("bash -c export LD_LIBRARY_PATH=<lib path>");
p = Runtime.getRuntime().exec("<binary path>");