Java 插件框架 (PF4J)
受信任于
- Netflix Spinnaker - 持续交付平台,其插件 SDK 基于 PF4J 构建
- Facebook Buck(Java 版本) - 构建系统
- 华为云 - 实时数据处理和评分系统(MRS - MapReduce 服务)
- Eclipse 基金会 - 面向汽车软件定义车辆的互联服务平台(ECSP)
- Dremio(现属 SAP 旗下) - 数据湖仓平台,其插件管理器和类加载器基于 PF4J 构建
- MuleSoft Anypoint Code Builder(Salesforce) - Mule DX 运行时将 IDE 组件服务器作为 PF4J 插件加载
- Apache Tika - 内容检测和提取工具包,使用 PF4J 实现其管道插件
- Apache BifroMQ - 分布式 MQTT 代理,使用 PF4J 实现其认证、限流和事件收集插件
- Appsmith - 低代码应用平台
- Nextflow - 工作流引擎,生物信息学流水线的事实标准
- ReportPortal - 测试自动化仪表板,其插件市场基于 pf4j-update 构建
- Halo CMS - 现代内容管理系统
- 更多项目...
插件是第三方扩展应用程序功能的一种方式。插件实现由应用程序或其他插件声明的扩展点。此外,插件也可以定义扩展点。
注意: 从版本 0.9 开始,您可以直接在应用程序 JAR 中定义扩展(您不必将扩展放在插件中——您可以将此扩展视为默认/系统扩展)。有关实际示例,请参见 WhazzupGreeting。
功能/优势
使用PF4J,您可以轻松地将一个单体Java应用转换为模块化应用。
PF4J 是一个 开源(Apache 许可证)轻量级(约 100 KB)的 Java 插件框架,依赖极少(仅 slf4j-api),且具有高度可扩展性(参见 PluginDescriptorFinder 和 ExtensionFinder)。
为什么选择 PF4J?
- 企业级验证:驱动 Netflix Spinnaker 和 Facebook Bu