是因为maven插件默认会将配置文件打包到生成的jar包中,而不会将其作为外部配置文件加载。这意味着在运行应用程序时,无法直接修改配置文件的值,需要重新打包应用程序才能生效。
然而,Spring Boot提供了一种方式来解决这个问题,即使用spring-boot:run
命令来运行应用程序时,通过指定spring.config.name
和spring.config.location
参数来加载外部配置文件。具体步骤如下:
config
文件夹,将配置文件(如application.properties
或application.yml
)放入该文件夹中。pom.xml
文件中的build
节点下添加resources
节点,并在其中配置<resource>
标签,将config
文件夹包含在内,示例如下:<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
<include>config/**</include>
</includes>
</resource>
</resources>
</build>
mvn spring-boot:run -Dspring.config.name=application -Dspring.config.location=classpath:/,file:./config/
其中,-Dspring.config.name=application
表示加载application.properties
或application.yml
文件,-Dspring.config.location=classpath:/,file:./config/
表示优先从类路径下的根目录加载配置文件,然后再从当前目录下的config
文件夹加载配置文件。
这样配置之后,就可以在运行应用程序时修改外部配置文件的值,而无需重新打包应用程序。同时,也方便了不同环境下的配置管理和部署。
推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云对象存储(COS)、腾讯云数据库(TencentDB)等。你可以通过访问腾讯云官方网站(https://cloud.tencent.com/)了解更多相关产品和产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云