在Java9中在运行时为本机库添加新路径

时间:2017-05-29 18:35:00

标签: reflection java-native-interface java-9

我有一个包含一些本机代码的应用。为了方便用户安装和运行,我一直在运行时扩展私有字段ClassLoader.sys_paths,如上一个问题所述:Adding new paths for native libraries at runtime in Java。有了这个hack,应用程序可以使用简单的简单AddComponent命令运行,并且本机对象将在安装目录中正确定位。

此技术在Java 9中不再有效(请参阅How to solve InaccessibleObjectException ("Unable to make {member} accessible: module {A} does not 'opens {package}' to {B}") on Java 9?)。本文描述了对Java 9的更改并建议了一个解决方案(在命令行中添加参数以打开模块),但这违背了我允许简单执行java命令的初衷。

有没有什么方法可以在运行时更改本机库搜索路径,或者这被认为是一个装满枪的过多的谎言?

0 个答案:

没有答案