Java插件框架:PF4J
jopen
10年前
利用PF4J能够轻松将单一的Java应用转换成模块化的应用程序。
PF4J 是一个开源的,轻量级(大约50KB)插件框架。拥有最小的依赖关系(只SLF4J-API)和很强的可扩展(见PluginDescriptorFinder和ExtensionFinder)。实际上PF4J是一个microframework并保持其核心简单,但可扩展。
现在有这些扩展可用:
组件
- Plugin is the base class for all plugins types. Each plugin is loaded into a separate class loader to avoid conflicts.
- PluginManager is used for all aspects of plugins management (loading, starting, stopping).
- ExtensionPoint is a point in the application where custom code can be invoked. It's a java interface marker.
Any java interface or abstract class can be marked as an extension point (implements ExtensionPoint interface). - Extension is an implementation of an extension point. It's a java annotation on a class.