如何在运行时访问另一个项目中的类

时间:2015-11-17 14:15:25

标签: java netbeans

我有一个项目(称为ExtensibleApp)。我试图让它模块化。这些模块将依赖于ExtensibleApp中已有的一些常见类。

假设我有一个模块myModule,它扩展了ExtensibleApp,并且依赖于类CommonClass.class,我该如何将CommonClass.class导入到myModule项目中,并获得对成员的访问权。

class MyModuleClass {
    CommonClass commonClass = new CommonClass();

    private void someMethod() {
        commonClass.method....()
    }
}

我要做的是创建一个可通过模块扩展的项目。这些模块将被加载/下载到ExtensibleApp类路径之外的文件夹中。在运行时,我如何将两个Jars链接在一起,以便他们可以共享类。

示例目录结构:

main dir/---ExtensibleApp.jar
        /---plugins ---/myModule.jar
                       /chat.jar
                       /videoplayer.jar
                       /like.jar
                       /unlike.jar
                       /etc.jar
                       /etc_etc.jar

1 个答案:

答案 0 :(得分:1)

有许多框架可以实现这一目标。以下是其中一些

的列表
  • 的Maven
  • OSGi,如果您希望模块之间有更好的访问控制。
  • 蚂蚁
  • Apache Ivy
  • 摇篮

我在eclipse IDE上使用过Maven,OSGi和Ant。其中我发现Maven最简单,OSGi最有用。