前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot - 子模块下spring-boot-configuration-processor不生效问题

SpringBoot - 子模块下spring-boot-configuration-processor不生效问题

作者头像
小小工匠
发布2022-03-31 09:14:36
1.7K0
发布2022-03-31 09:14:36
举报
文章被收录于专栏:小工匠聊架构小工匠聊架构

文章目录

在这里插入图片描述
在这里插入图片描述

工程结构

工程结构如下

在这里插入图片描述
在这里插入图片描述

问题

在子模块

在这里插入图片描述
在这里插入图片描述

这个自定义的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 ,我们新起个测试项目引用下试试

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-03-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 工程结构
  • 问题
  • 问题修复
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档