Java -jar的方式执行SpringBoot项目的jar包,会加载同目录下的applicaiton.yaml文件?为什么?

孙大诚_SunRobin 2020-07-30 05:54:29
今天遇到一个奇怪的现象,给SpringBoot项目使用maven打成jar包,放到桌面。然后桌面上有一个appliation.yaml文件,这个文件跟jar包项目没有任何关系,凑巧都在桌面。

当使用cmd命令,执行java -jar xxx.jar的时候,发现它竟然加载桌面上的application.yaml文件,如果这个文件不符合yaml格式,启动项目还会报错?

为什么java -jar xxx.jar的时候会加载同目录下的applicaiton.yaml文件?
...全文
12057 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
孙大诚_SunRobin 2020-08-04
  • 打赏
  • 举报
回复
引用 10 楼 伫望-向北 的回复:
springboot默认会加载以下四种位置的配置文件: 1、若application.yaml与系统jar包在统一目录下的config目录下 2、若application.yaml与系统jar包在统一目录下 3、若application.yaml在系统jar包的resources根目录的config目录下 4、若application.yaml在系统jar包的resources根目录 若这4个地方都有application.yaml文件,则会全部加载,有同名的配置以前面的为准
多谢。
伫望-向北 2020-08-03
  • 打赏
  • 举报
回复 1
springboot默认会加载以下四种位置的配置文件: 1、若application.yaml与系统jar包在统一目录下的config目录下 2、若application.yaml与系统jar包在统一目录下 3、若application.yaml在系统jar包的resources根目录的config目录下 4、若application.yaml在系统jar包的resources根目录 若这4个地方都有application.yaml文件,则会全部加载,有同名的配置以前面的为准
MR_WANG0312 2020-08-03
  • 打赏
  • 举报
回复
不会了。。。。。
孙大诚_SunRobin 2020-07-31
  • 打赏
  • 举报
回复
SpringApplication loads properties from application.properties files in the following locations and adds them to the Spring Environment: A /config subdirectory of the current directory The current directory A classpath /config package The classpath root The list is ordered by precedence (properties defined in locations higher in the list override those defined in lower locations).
孙大诚_SunRobin 2020-07-31
  • 打赏
  • 举报
回复
引用 7 楼 MR_WANG0312 的回复:
nohup java -jar xx.jar 加载yml顺序,同目录下 》 classPath
如果加载了同目录下的yml文件,还会继续加载classpath下的yml文件吗?
MR_WANG0312 2020-07-31
  • 打赏
  • 举报
回复
nohup java -jar xx.jar 加载yml顺序,同目录下 》 classPath
孙大诚_SunRobin 2020-07-31
  • 打赏
  • 举报
回复
引用 5 楼 卖水果的net 的回复:
加载桌面的上 yml 不应该,可以手动指定 --spring-config-location=xxx.yml 。
Spring会加载classpath root下的application.yaml文件。想到一个问题,如果我们引用过来一个第三方的jar包b.jar,而这个jar包顶层目录中包含一个application.yaml文件,那么这个文件会被Spring加载吗?
卖水果的net 2020-07-31
  • 打赏
  • 举报
回复
加载桌面的上 yml 不应该,可以手动指定 --spring-config-location=xxx.yml 。
孙大诚_SunRobin 2020-07-31
  • 打赏
  • 举报
回复
引用 2 楼 lkwahl 的回复:
2.3-2.4
文档说,Spring会加载classpath root下的application.yaml文件。想到一个问题,如果我们引用过来一个第三方的jar包b.jar,而这个jar包顶层目录中包含一个application.yaml文件,那么这个文件会被Spring加载吗?
菜鸟①个 2020-07-30
  • 打赏
  • 举报
回复
2.3-2.4
菜鸟①个 2020-07-30
  • 打赏
  • 举报
回复
https://docs.spring.io/spring-boot/docs/2.3.2.RELEASE/reference/html/spring-boot-features.html#boot-features 仔细看看

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧