secret-plugin v1.0.0 正式版本已经发布,更新内容包括
secret-plugin
![license]()
介绍
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