SpringBoot - 子模块下spring-boot-configuration-processor不生效问题
Posted 小小工匠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot - 子模块下spring-boot-configuration-processor不生效问题相关的知识,希望对你有一定的参考价值。
文章目录
工程结构
工程结构如下
问题
在子模块
这个自定义的starter中,引入了绑定提示的spring-boot-configuration-processor
<!--‐导入配置文件处理器,配置文件进行绑定会有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
IDEA提示
且构建的包中并没有如下这个文件
导致我们在使用自定义的配置的时候,没有 提示,非常的难受 。
问题修复
父pom定义
<dependency>
<!-- 用于生成自定义的 Spring @ConfigurationProperties 配置类的说明文件 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>$spring.boot.version</version>
</dependency>
之模块直接使用,无需引入版本
<!--‐导入配置文件处理器,配置文件进行绑定会有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
然后父pom中 maven-compiler-plugin内的annotationProcessorPaths中添加相应path
<path>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>$spring.boot.version</version>
</path>
完整的如下:
<build>
<pluginManagement>
<plugins>
<!-- maven-surefire-plugin 插件,用于运行单元测试。 -->
<!-- 注意,需要使用 3.0.X+,因为要支持 Junit 5 版本 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>$maven-surefire-plugin.version</version>
</plugin>
<!-- maven-compiler-plugin 插件,解决 Lombok + MapStruct 组合 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>$maven-compiler-plugin.version</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>$lombok.version</version>
</path>
<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>$spring.boot.version</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!--提供source-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
然后,刷新工程 可以看到
我们搞个package ,看下导出来的jar
非常好。
然后发布到nexus ,我们新起个测试项目引用下试试
问题得到解决
以上是关于SpringBoot - 子模块下spring-boot-configuration-processor不生效问题的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot - 子模块下spring-boot-configuration-processor不生效问题