我正在构建一个Java应用程序,该应用程序使用用C++编写并针对不同操作系统编译的共享库。问题是,这个共享库本身依赖于它通常在适当的环境变量(PATH,LIBRARY_PATH或LD_LIBRARY_PATH)下找到的附加库。在运行时通过路径加载共享库
我可以 - 但不想 - 设置这些环境变量。我宁愿在运行时从给定的路径加载所需的共享库 - 就像插件一样。不,我不希望任何启动器应用程序在新的环境下启动新的过程。有人知道如何做到这一点?
我知道这一定是可能的,因为我使用的一个库能够从给定的路径加载它的插件。当然,我更喜欢独立于平台的代码,但如果这是不可能的话,Windows,Linux和MacOS的独立解决方案也会这样做。
编辑 我应该提到的是,共享库我想用的是面向对象的,这意味着单一功能的结合不会去做。
如何从Java加载库? –
Java Native Access(JNA) – aRestless