secret-plugin v1.0.0 发布,简单易用的 Java 插件框架
secret-plugin v1.0.0 正式版本已经发布,更新内容包括
- 支持内置插件以及加载外部jar包插件
secret-plugin
介绍
secret-plugin是一个简单易用的java插件框架
功能
支持内置插件以及加载外部jar包插件
使用方法
maven:
<dependency> <groupId>com.gitee.secretopen</groupId> <artifactId>secret-plugin</artifactId> <version>1.0.0</version> </dependency>
详见 Wiki文档
内置插件接口:SecretPluginInterface
初始化设置设置类:SecretPluginConfig
插件接口实现类注解:@SecretPlugin
插件实现者:
实现 SecretPluginInterface 接口即可。
@SecretPlugin
public class OutsidePluginTest implements SecretPluginInterface {
Logger logger = LogManager.getLogger(OutsidePluginTest.class.getName());;
/**
* 启用插件
*/
@Override
public void initialize() {
logger.info("插件启动成功 - {}"+getPluginName());
}
/**
* 停止插件
*/
@Override
public void stop() {
logger.info("插件关闭成功 - {}"+getPluginName());
}
@Override
public void openSetup() {
logger.info("打开此插件设置 - ");
}
/**
* 插件是否有自定义设置功能
* @return true:是
*/
@Override
public boolean hasSetup() {
return true;
}
/**
* 获取插件名称
*/
@Override
public String getPluginName() {
return "outside plugin test";
}
}
secret-plugin.properties 文件(放置在resources目录下):
//外部插件的插件接口实现类所在包名/类名完整路径 secret.plugin.outside-package=org.example secret.plugin.outside-package=org.example.OutsidePluginTest
插件接口提供者:
//true 为 输出插件json文件 SecretPluginConfig config = SecretPluginConfig.getInstance(true); //创建插件工厂,则插件加载并执行,pluginPackage为内置插件所在包名,pluginPath为外部插件所在目录 SecretPluginFactory factory=new SecretPluginFactory(pluginPackage,new File(pluginPath)); //factory2 SecretPluginFactory factory2=new SecretPluginFactory(pluginPackage); //factory3 SecretPluginFactory factory3=new SecretPluginFactory(new File(pluginPath));
详情查看:https://gitee.com/SecretOpen/secret-plugin/releases/v1.0.0