如何构建java桌面应用程序运行时模块?
问题描述:
我有一个Java桌面应用程序,我想添加插件/插件支持功能,以我的应用程序如何构建java桌面应用程序运行时模块?
搜索后我看到Blender3D插件是非常好的,只是复制一些文件到Blender的目录,并在选项窗口启用它那么插件可以添加新的引擎,菜单,按钮和面板.....我喜欢这种风格,并希望有这样的事情在我的应用程序只是释放的主要应用
后插件来发展它,我发现OSGi的,但可以不知道如何使用我的主应用程序中使用此功能创建的插件?!而且我不想使用Eclipse RCP或Netbeans的RCP,我想这个功能添加到使用JavaFX的为贵我目前的主要应用。
感谢,
答
看看Java反射API
的java.lang.reflect.Method等
还学什么目的接口和抽象类服务。您可能希望让您的插件api提供一个或多个具有一个或多个抽象类的接口,以作为实现扩展的具体基类。
在实际的jdk一个很好的例子是JDBC API。它是完全插件驱动(你问的DriverManager实例化一个驱动程序给定的URI,它处理编组的实施,这是隐藏在接口和抽象类)。
欢呼
答
一个相当老了,但还是很不错的例子,因为它比较局限,你想要做的,以及什么是the Apache Felix Application tutorial。
你已经掌握了这些概念后,你可能想看看OSGi enRoute,了解较新的设施,我们在OSGi的。
OSGi的插件需要在OSGi环境中运行,如Eclipse RCP的,你不能只用它们在非OSGi的计划。 – 2014-11-09 09:09:15