2013-02-14 68 views

回答

1

你在找什么叫做OSGi

+0

对于我的需求OSGi的感觉就像打破车轮上的蝴蝶,是不是有一个更简单的方法? – Alex 2013-02-15 14:02:18

+0

Java 8将包含模块化,名为[项目拼图](http://openjdk.java.net/projects/jigsaw/),我也会看看那里。 – 2013-02-15 15:11:17

0

当然,但你必须通过这样的反射来使用它:

ClassLoader classLoader = new URLClassLoader (
    new URL [] {/* Classpath or isolated module here */}, 
    ClassLoader.getSystemClassLoader().getParent()); 

Class <?> isolatedModuleClass = classLoader.loadClass (
    /* Full name of class from isolated module */); 

Object isolatedObject = 
    isolatedModuleClass. 
     getConstructor (/* Constructor argument types */). 
      newInstance (/* Constructor arguments */); 

Object result = 
    isolatedModuleClass. 
     getMethod (/* Method name */, /* Method parameter types */). 
      invoke (isolatedObject, /* Method arguments */);