文章目录
- 工程结构
- 问题
- 问题修复
工程结构
工程结构如下
问题
在子模块
这个自定义的starter中,引入了绑定提示的spring-boot-configuration-processor
代码语言:javascript复制 <dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-configuration-processorartifactId>
<optional>trueoptional>
dependency>
IDEA提示
且构建的包中并没有如下这个文件
导致我们在使用自定义的配置的时候,没有 提示,非常的难受 。
问题修复
父pom定义
代码语言:javascript复制 <dependency>
<!-- 用于生成自定义的 Spring @ConfigurationProperties 配置类的说明文件 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>${spring.boot.version}</version>
</dependency>
之模块直接使用,无需引入版本
代码语言:javascript复制 <!--‐导入配置文件处理器,配置文件进行绑定会有提示-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
然后父pom中 maven-compiler-plugin内的annotationProcessorPaths中添加相应path
代码语言:javascript复制 <path>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-configuration-processorartifactId>
<version>${spring.boot.version}version>
path>
完整的如下:
代码语言:javascript复制 <build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-surefire-pluginartifactId>
<version>${maven-surefire-plugin.version}version>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>${maven-compiler-plugin.version}version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<version>${lombok.version}version>
path>
<path>
<groupId>org.mapstructgroupId>
<artifactId>mapstruct-processorartifactId>
<version>${mapstruct.version}version>
path>
<path>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-configuration-processorartifactId>
<version>${spring.boot.version}version>
path>
annotationProcessorPaths>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-source-pluginartifactId>
<configuration>
<attach>trueattach>
configuration>
<executions>
<execution>
<phase>compilephase>
<goals>
<goal>jargoal>
goals>
execution>
executions>
plugin>
plugins>
pluginManagement>
build>
然后,刷新工程 可以看到
我们搞个package ,看下导出来的jar
非常好。
然后发布到nexus ,我们新起个测试项目引用下试试