如何解决Spring Boot项目中jar包外置配置文件的问题?

2026-04-30 03:001阅读0评论SEO问题
  • 内容介绍
  • 相关推荐

本文共计532个文字,预计阅读时间需要3分钟。

如何解决Spring Boot项目中jar包外置配置文件的问题?

为什么要点解方案呢?按照网上教程,Spring Boot项目中,配置文件有优先级,其中放置在根目录下的config文件夹中的文件优先级最高;其次是根目录下;然后是resources/config/;最后是resources/。

为什么要搞个解决方案呢?按照网上教程,spring boot项目中,配置文件有优先级,其中,放在根目录下的config文件夹中优先级最高;根目录下次之;然后是resources/config/;resources/下优先级最低。而加载顺序刚好反过来,resources/下最先加载,而/config/最后加载。然后在命令行方式下,指定一下这个配置文件的路径,就可以了,云云。

也许事实就是如此的吧,但我试来试去,总不成功,系统死活都要读resources/下,这个优先级最低的配置文件。

这对于用 jar包 方式运行的项目来说,就很痛苦了。每次部署的时候,都要将里面的配置文件替换,非常繁琐。我不知道为什么我的JAR包用不了外置配置文件,也许是代码里含有

@PropertySource(value = "classpath:myconfig.properties",encoding = "UTF-8")

这样的语句;

又或许是含有

@Scheduled(cron = "${ins.ship-interval}")

这样的语句。说起来也是心累,搞不清这里面的加载顺序。

一时之间没法解决,所以先换一种方式,每次运行系统前,用jar命令,将相应的配置文件替换jar包里的。

阅读全文

本文共计532个文字,预计阅读时间需要3分钟。

如何解决Spring Boot项目中jar包外置配置文件的问题?

为什么要点解方案呢?按照网上教程,Spring Boot项目中,配置文件有优先级,其中放置在根目录下的config文件夹中的文件优先级最高;其次是根目录下;然后是resources/config/;最后是resources/。

为什么要搞个解决方案呢?按照网上教程,spring boot项目中,配置文件有优先级,其中,放在根目录下的config文件夹中优先级最高;根目录下次之;然后是resources/config/;resources/下优先级最低。而加载顺序刚好反过来,resources/下最先加载,而/config/最后加载。然后在命令行方式下,指定一下这个配置文件的路径,就可以了,云云。

也许事实就是如此的吧,但我试来试去,总不成功,系统死活都要读resources/下,这个优先级最低的配置文件。

这对于用 jar包 方式运行的项目来说,就很痛苦了。每次部署的时候,都要将里面的配置文件替换,非常繁琐。我不知道为什么我的JAR包用不了外置配置文件,也许是代码里含有

@PropertySource(value = "classpath:myconfig.properties",encoding = "UTF-8")

这样的语句;

又或许是含有

@Scheduled(cron = "${ins.ship-interval}")

这样的语句。说起来也是心累,搞不清这里面的加载顺序。

一时之间没法解决,所以先换一种方式,每次运行系统前,用jar命令,将相应的配置文件替换jar包里的。

阅读全文