我有三個模塊:module-a,module-b,module-c。模塊-a和模塊-b處於引導層。爲模塊-C創建我自己。 Module-c具有JPMS實現的接口在模塊-a中的服務。如何刪除Java 9中的模塊層?
這是我在模塊-b中使用module-c創建圖層的方式。
ModuleFinder finder = ModuleFinder.of(moduleCPath);
ModuleLayer parent = ModuleLayer.boot();
Configuration cf = parent.configuration().resolve(finder, ModuleFinder.of(), Set.of("module-c"));
ClassLoader scl = ClassLoader.getSystemClassLoader();
ModuleLayer layer = parent.defineModulesWithOneLoader(cf, scl);
然後在模塊-b中,我從模塊-c調用服務。服務執行完成後,我不再需要module-c和新創建的圖層。如何從JVM中刪除它並釋放所有資源? layer = null;
足夠嗎?
沒有'module-c'創建一個新的'ModuleLayer'不行嗎? – nullpointer
你能否更新這個問題,你究竟試過了什麼,請問它是什麼結果。 – nullpointer
@nullpointer我的問題包含了所有的信息,我做了什麼以及有什麼問題。如果你不明白,請說出你不明白的地方。 –