我有一个二进制可执行文件(无源代码),它需要在终端中执行此命令 - export LD_LIBRARY_PATH = "" 以链接到我在目录中拥有的库 lbtiff.so.3。只有在我执行了这个导出命令之后,我才能执行二进制文件,否则会报错——“加载共享库时出错:libtiff.so.3 ...
现在,我想从我的 java 代码中执行这个二进制文件。但是在运行时简单地执行导出命令并没有做任何事情,并且当我从 Java 执行二进制文件时,仍然会出现“error while ..”错误。我猜想通过 Java 可能无法设置 unix 特定的环境变量 LD_LIBRARY_PATH - 有没有办法可以从 Java 运行我的二进制文件并且它能够找到库?这是我当前的代码 -
Process p = Runtime.getRuntime().exec("bash -c export LD_LIBRARY_PATH=<lib path>");
p = Runtime.getRuntime().exec("<binary path>");