# pf4j **Repository Path**: nowuser118/pf4j ## Basic Information - **Project Name**: pf4j - **Description**: Java轻量级的插件框架PF4J - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-09-10 - **Last Updated**: 2025-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pf4j ## 介绍 一个插件框架,用于实现插件的动态加载,支持的插件格式(zip、jar) ## 核心组件 - Plugin:是所有插件类型的基类。每个插件都被加载到一个单独的类加载器中以避免冲突。 - PluginManager:用于插件管理的所有方面(加载、启动、停止)。您可以使用内置实现作为JarPluginManager, ZipPluginManager, DefaultPluginManager(它是一个JarPluginManager+ ZipPluginManager),或者您可以从AbstractPluginManager(仅实现工厂方法)开始实现自定义插件管理器。 - PluginLoader:加载插件所需的所有信息(类)。 - ExtensionPoint:是应用程序中可以调用自定义代码的点。这是一个java接口标记。任何 java 接口或抽象类都可以标记为扩展点(实现ExtensionPoint接口)。 - Extension:是扩展点的实现。它是一个类上的 Java 注释 ## 结构 - pf4j-api:定义可扩展接口。 - pf4j-plugins-01:插件项目,可以包含多个插件,需要实现 plugin-api 中定义的接口。所有的插件jar包,放到统一的文件夹中,方便管理,后续只需要加载文件目录路径即可启动插件。 会自动生成jar 和zip格式 - pf4j-app:主程序,需要依赖 pf4j-api ,加载并执行 pf4j-plugins-01 。