You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot微服务子模块如何继承父项目的application.properties配置

微服务子模块读取父项目application.properties配置的解决方案

方法1:通过构建工具共享父项目资源

如果是Maven多模块项目,直接在父项目的pom.xml中配置资源共享,子模块构建时会自动引入父项目的配置文件:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>application.properties</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

子模块无需额外配置,启动后就能通过@Value读取父项目里的security.jwt.secret-key和security.jwt.issuer。

方法2:在子模块中导入父项目配置

放弃之前的spring.config.location配置,直接在子模块的application.properties里导入父项目配置文件:

# 导入父项目的配置文件,classpath路径需确保父项目资源已被子模块访问到
spring.config.import=classpath:/application.properties

这个方式不会覆盖子模块自身的配置,只是额外加载父项目的配置,优先级低于子模块自身的配置项(如果有重复的话)。

方法3:创建公共配置模块(推荐多模块共享场景)

专门建一个common-config模块存放公共配置,让需要的子模块依赖它:

  1. 新建common-config模块,把jwt相关配置放到该模块的src/main/resources/application.properties中。
  2. 在auth-service和gateway的pom.xml中添加依赖:
<dependency>
    <groupId>你的项目groupId</groupId>
    <artifactId>common-config</artifactId>
    <version>对应版本号</version>
</dependency>

这样所有依赖该模块的子模块都能自动加载公共配置,后续修改公共配置只需改一处,维护更方便。

方法4:修复之前的路径配置问题

如果你坚持用spring.config.additional-location,可以调整配置避免报错并确保路径正确:

# 加上optional:避免找不到文件时启动失败,同时检查路径是否准确
spring.config.additional-location=optional:file:/Users/FF/Desktop/E-Commerce/src/main/resources/application.properties

注意:本地绝对路径只适合开发环境,生产环境建议用相对路径或者配置中心管理。

内容的提问来源于stack exchange,提问作者Furkan Erol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 19:06:05