ModRun: 無需Jigsaw的Java模組化

banq發表於2016-11-27
ModRun是一個Java類載入器,能夠在執行時直接從Maven倉庫載入和執行類,並解決相關依賴。可載入多個應用到同一個JVM中,同時保持這些類完全隔離;能同時可載入同一目錄的多個版本到JVM,甚至可在同一個應用中使用同樣目錄下多個版本類,同時保持這些載入不同版本完全隔離,徹底終結了依賴衝突。

如果一個應用依賴模組A和模組B,而A和B依賴於模組C,但是依賴於C的不同版本,ModRun會為模組A載入C的一個版本,也會為模組B載入C的另外一個版本。

下面展示如何建立一個Repository物件,載入一個模組和從中讀取一個類:

Repository repository = new Repository("test-repo");

Module module   = repository.createModule("com.nanosai", "ModRunDepA", "1.0.0");

Class  theClass = module.getClass("com.nanosai.a.ComponentA");

Object theObject = theClass.newInstance();
Method method    = theClass.getMethod("doIt");
String result    = (String) method.invoke(theObject, new Object[0]);

System.out.println(result);
<p class="indent">



nanosai/modrun: A Java classloader which can load

相關文章