【发布时间】:2015-03-02 17:50:17
【问题描述】:
我有一个跨平台的 Java 应用程序,它依赖于一些本地 (C++) 库来调用执行复杂科学计算的函数。使用 JNI(使用 SWIG 生成的胶水代码)访问本机库。这些库访问多个环境变量,用于配置和定位各种数据表等。 我希望我的 Java 应用程序能够设置这些环境变量,至少在 JNI 库的上下文中。如果 Java 提供了一种在其自己的 shell/上下文中设置环境变量的方法,这将很容易,但事实并非如此。
我看到similar questions 的答案需要更改Java 本身或子进程的变量。这个问题是不同的,因为它专门与 JNI 调用的代码相关。我的猜测是情况是相同的,因为 JNI 代码可能与 Java 应用程序本身在相同的环境中运行。 但是,我想我会问一下,以防万一有一些 JNI 设置或方法可以做到这一点。
【问题讨论】:
标签: java java-native-interface environment-variables native