我能否为Java Native Interface (JNI)库设置环境变量?

4
我有一个跨平台的Java应用程序,依赖于一些本地(C ++)库来调用执行复杂科学计算的函数。使用JNI(带有SWIG生成的粘合代码)访问本机库。这些库访问多个环境变量以进行配置和各种数据表的位置等。 我希望我的Java应用程序能够设置这些环境变量,至少在JNI库的上下文中。如果Java提供了一种在其自己的shell /上下文中设置环境变量的方法,那将很容易,但它没有提供此功能。
我看到了类似问题的答案,需要更改Java本身或子进程的变量。这个问题不同,因为它与特定于JNI调用的代码有关。我猜情况是相同的,因为JNI代码可能在与Java应用程序本身相同的环境中运行。 但是,我想问一下是否有一些JNI设置或方法可以做到这一点。
1个回答

1
你的猜测是正确的。环境变量与进程相关,JNI和非JNI之间没有区别。
你应该能够使用另一个JNI库来设置环境变量,使得在同一进程中运行的其他库能够获取到。

哪个“其他”JNI库可以实现这样的功能? - Holger Brandl
@Holger 一个由您编写并掌控的程序。 - user2543253
1
哦,那个。谢谢。 :-) - Holger Brandl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接