我是java模块系统的新手。我试图了解JPMS是如何决定根模块在运行时构建模块图的。
我所理解的是,模块路径中的所有模块都将添加到根模块集中。JPMS从根模块集开始构建模块图,add-modules选项可以向根模块集添加更多模块。当构建模块图时,如果没有在所有模块中找到一个类,JPMS将在类路径中搜索它,如果找到它,那么这个类将添加到未命名的模块中。
发布于 2022-06-06 21:13:12
默认根模块集取决于您的主类位于类路径还是模块路径上。
在任何情况下,除非显式指定--add-modules ALL-MODULE-PATH,否则模块路径上的模块不会自动添加到根模块集中。
如果从类路径运行,则大多数系统模块都是根模块。有关更多详细信息,请参阅9月261。
如果从模块路径运行,默认情况下只有主应用程序的模块(由--module指定)是根用户。其他的可以添加到--add-modules中。
发布于 2022-06-10 21:00:19
书<> Chapter2:
https://stackoverflow.com/questions/72523183
复制相似问题