2014-11-08 64 views
0

我有一个Java桌面应用程序,我想添加插件/插件支持功能,以我的应用程序如何构建java桌面应用程序运行时模块?

搜索后我看到Blender3D插件是非常好的,只是复制一些文件到Blender的目录,并在选项窗口启用它那么插件可以添加新的引擎,菜单,按钮和面板.....我喜欢这种风格,并希望有这样的事情在我的应用程序只是释放的主要应用

后插件来发展它,我发现OSGi的,但可以不知道如何使用我的主应用程序中使用此功能创建的插件?!而且我不想使用Eclipse RCP或Netbeans的RCP,我想这个功能添加到使用JavaFX的为贵我目前的主要应用。

感谢,

+1

OSGi的插件需要在OSGi环境中运行,如Eclipse RCP的,你不能只用它们在非OSGi的计划。 – 2014-11-09 09:09:15

回答

1

看看Java反射API

的java.lang.reflect.Method等

还学什么目的接口和抽象类服务。您可能希望让您的插件api提供一个或多个具有一个或多个抽象类的接口,以作为实现扩展的具体基类。

在实际的jdk一个很好的例子是JDBC API。它是完全插件驱动(你问的DriverManager实例化一个驱动程序给定的URI,它处理编组的实施,这是隐藏在接口和抽象类)。

欢呼

0

一个相当老了,但还是很不错的例子,因为它比较局限,你想要做的,以及什么是the Apache Felix Application tutorial

你已经掌握了这些概念后,你可能想看看OSGi enRoute,了解较新的设施,我们在OSGi的。

相关问题