代码拉取完成,页面将自动刷新
Sweet-Plugin是基于Spring Boot开发的插件管理框架,采用sidecar
边车运行模式,与主程序一起启动,但具有自己的生命周期
,可以动态安装、卸载、启动和停止插件功能。
主程序ApplicationContext
与插件ApplicationContext
完全隔离,通过扩展接口进行通讯;maven
打包插件,支持对插件的自主打包编译,支持打包成jar、zip和文件夹多种方式;主程序
的类包;主程序
的环境变量和yml配置参数;@Autowired
优先级别,例如:优先主程序后插件、优先插件后主程序、只查找插件等;@Extension
向主程序
暴露实现;1)引入依赖
修改pom.xml,引入sweet-plugin-spring-boot-starter包
<dependency>
<groupId>com.gitee.bluesweeter</groupId>
<artifactId>sweet-plugin-spring-boot-starter</artifactId>
<version>发布版本>=1.2.2</version>
</dependency>
2)在SpringBoot启动类中加入@EnableEgdPlugin启动插件机制
@SpringBootApplication
@EnableEgdPlugin
public class SweetApiWebApplication {
public static void main(String[] args) {
SpringApplication.run(SweetApiWebApplication.class, args);
}
}
3)引入需要插件
插件运行文件夹默认在classes/plugins
文件夹中,需要修改pom.xml:
第一步,先引入插件,例如:以下引入开发好的restful
插件,以zip
格式
<dependencies>
...
<dependency>
<groupId>com.egrand.sweetapi.plugin</groupId>
<artifactId>sweet-api-plugin-restful</artifactId>
<version>1.2.1-SNAPSHOT</version>
<type>zip</type>
</dependency>
...
</dependencies>
第二步,增加一个maven-dependency-plugin
插件声明,将zip文件复制到classes/plugins
文件夹中
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<!--导出所有的 jar 包-->
<execution>
<id>plugin-process-resources</id>
<goals>
<goal>copy-dependencies</goal>
</goals>
<!-- (打包阶段):在实际打包中,执行任何的必要的操作。 -->
<phase>process-resources</phase>
<configuration>
<outputDirectory>${project.build.directory}/classes/plugins</outputDirectory>
<stripVersion>false</stripVersion>
<includeTypes>zip</includeTypes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。