一.SpringBoot Starter的作用
Starter的机制极大的方便了业务系统接入相关能力,它有一个非常友好的能力就是引入starter后,在配置相关的配置项时,能自动提示,极大的提升了使用的友好度。
二.遇到的问题
我在为Juggle开发系统starter,该starter能让其他系统快速集成和调用编排的流程,本着精益求精和优雅代码的原则,因此starter肯定是要放在Juggle项目里面的吧,并且版本号也要一致,
结果按照如下目录存放后,starter始终没有生成spring-configuration-metadata.json,没有这个文件,到时候引入starter,在填写配置的时候就不能自动提示配置,对用户非常不友好,这肯定是不能接受的。
三.Juggle介绍
Juggle作为国内首个开源的微服务编排框架,除了灵活的零码编排能力,提高生产效率,我们还会融入低码编排能力,数据提取能力,逻辑处理能力等,进一步提高Juggle的灵活性,致力于打造一款国内乃至全球优秀的工具
gitHub地址:https://github.com/somta/Juggle
gitee地址:https://gitee.com/Somta/Juggle
四.解决办法
在maven-compiler-plugin插件中添加一个path,将spring-boot-configuration-processor加入进去就可以了
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<path>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>2.7.14</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>