- 首先引入以下依赖
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon.hotplug</artifactId>
</dependency>
- 动态添加插件
// 如果存在 先停止然后在运行
try {
PluginManager.unload(pluginCode);
PluginManager.remove(pluginCode);
} catch (Exception e) { }
// 删除旧的jar文件
new File(Solon.cfg().get("plugin.file") + file.name).delete();
// 保存新的jar文件
File newFile = new File(Solon.cfg().get("plugin.file") + file.name);
file.transferTo(newFile);
// 添加插件
PluginManager.add(pluginCode, newFile);
// 启动插件
PluginManager.start(pluginCode);
- 启动插件
// 判断插件是否存在
File file = new File(Solon.cfg().get("plugin.file") + plugin.getPluginCode() + ".jar");
if (!file.exists()) {
return R.error("该插件不存在");
}
// 启动插件
PluginManager.add(plugin.getPluginCode(), file);
PluginManager.start(plugin.getPluginCode());
- 停止插件
// 这样才能彻底停止
try {
PluginManager.unload(pluginCode);
PluginManager.remove(pluginCode);
} catch (Exception e) {
return R.error("插件已停止");
}
// 如果需要删除插件,先停止然后获取到jar路径然后执行删除
new File(Solon.cfg().get("plugin.file") + pluginCode + ".jar").delete();
请登录后查看回复内容