当前位置:   article > 正文

SpringBoot启动时无法加载自定义配置文件(根据环境不同,本地和生产)_springboot加载自定义配置失效

springboot加载自定义配置失效

问题背景

 springboot启动的时候总是报找不到ftp_upload.properties.

估计同学该诧异了,明明就是在项目下的config下,为啥找不到呢?我们都知道springboot的配置文件启动加载顺序是:     

第一: ./config/(项目根目录下的config文件夹下的配置文件)。

第二:./(项目根目录下的配置文件)。

第三:classpath下的config文件夹下的配置文件。

第四:classpath下的配置文件。

这四个,是从高到低的顺序排列,一是优先级最高的,也就是项目根目录下的config下配置文件。

这部分知识可以看另外的博客:springboot配置文件加载顺序 - wang_longan - 博客园

但是为啥启动报错找不到呢?下面是解决办法

解决办法

 

  1. <resource>
  2. <directory>config</directory>
  3. <includes>
  4. <!-- 根据目录下的文件配置需要扫描的文件类型 -->
  5. <include>**/*.yml</include>
  6. <include>**/*.properties</include>
  7. <include>**/*.xml</include>
  8. </includes>
  9. <filtering>false</filtering>
  10. </resource>
  11. <resource>
  12. <directory>src/main/resources</directory>
  13. <includes>
  14. <!-- 根据目录下的文件配置需要扫描的文件类型 -->
  15. <include>**/*.yml</include>
  16. <include>**/*.properties</include>
  17. <include>**/*.xml</include>
  18. </includes>
  19. <filtering>false</filtering>
  20. </resource>

这时本地的启动,应该是没问题了。

这个文件也能找到了。

 

 可以看到classes下也有config下的文件了。

很顺利,但是大部分的文档都是言尽于此。我遇到了在linux中,发布项目,config下仍旧找不到ftp_upload.properties文件。

以下是linux的目录

 在bin下start.sh启动的时候,会到这个目录下启动java -jar  XXX.jar

经过测验,把引用ftp_upload.properties的java代码先注释,然后修改了linux的项目下config下的yml文件内端口号,是可以启动的,那就是启动可以找到application-dev.yml文件,但是找不到ftp_upload.properties文件,这么奇怪呢?之后找到了一个配置:

然后就能顺利找到 ftp_upload.properties这个文件了。

修改ftp_upload.properties下的配置信息,也能顺利拿到最新的修改信息。

大功告成。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/172989?site
推荐阅读
相关标签
  

闽ICP备14008679号