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



我有一个项目(称为ExtensibleApp)。我正在努力使它模块化。这些模块将依赖于ExtensibleApp中已经存在的一些公共类。

假设我有一个模块myModule,它扩展了ExtensibleApp,并且依赖于一个类CommonClass.class,那么我如何将CommonClass.class导入myModule项目,并访问成员。

class MyModuleClass {
    CommonClass commonClass = new CommonClass();
    private void someMethod() {
        commonClass.method....()
    }
}

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

示例目录结构:

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

有许多框架可以实现这一点。以下是其中一些的列表

  • Maven
  • OSGi,如果您想在模块之间进行更精细的访问控制
  • 蚂蚁
  • 阿帕奇常春藤
  • Gradle

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

相关内容

  • 没有找到相关文章

最新更新