什么是Java 9反射相当于--add-modules?

时间:2017-06-07 05:01:59

标签: java java-9 jigsaw

我需要一种方法来告诉新创建的类加载器(没有设置父级)关于我想要暴露给它的模块(例如java.scripting)。

在命令行上传递--add-modules的反射是什么?

1 个答案:

答案 0 :(得分:6)

没有编程方法可以在启动时大幅编辑JVM创建的模块图(添加读边是唯一的例外)。这是故意决定保持正在运行的应用程序的安全性和稳定性。 (例如,如果在不包含 java.scripting 模块的运行时上运行,代码会发生什么?)

但是,您可以创建一个新图层,其中包含一个全新的模块图。启动JVM时,它将从命令行标志和模块路径内容创建单个层。使用现有API,您可以在该API之上创建新图层。要了解图层,请查看The State of the Module Systemthe Javadoc for ModuleLayer