工程结构
工程结构如下
问题
在子模块
这个自定义的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 ,我们新起个测试项目引用下试试
问题得到解决