大概懂一点 java (非研发),发现一个现象,为什么用压缩软件在 jar 包里面新增一个 application-dev. yml 文件(原来没有),并在 app. yml
中指定它,jar 包无法正常运行。maven 打包时具体都做了什么呢
1
akin 2020-03-20 17:25:43 +08:00
你是解压 jar 包,添加,然后再压缩成 jar 包吗?
|
2
akin 2020-03-20 17:43:03 +08:00 1
Springboot 读取核心配置文件( application.properties )的优先级为
Jar 包同级目录的 config 目录 Jar 包同级目录 classPath(即 resources 目录)的 config 目录 classpath 目录 上面是 springboot 默认去拿自己的核心配置文件的优先级,还有一种最高优先级的方式是项目启动时通过命令的方式指定项目加载核心配置文件,命令如下 java –jar -Dspring.config.location=xxx/xxx/xxxx.properties xxxx.jar |
4
akin 2020-03-20 21:08:32 +08:00 1
不能这么直接拖进去,要解压后重新打包 jar 包,重新生成 manifest.mf
其实不建议这改 jar 包,如果你要搞一个自己的 yml。正确的做法是我发的,在 jar 包同级别目录放一个配置文件,这是 spring boot 的配置文件读取优先级决定的。 |
5
cpc0wxj 2020-03-20 22:49:11 +08:00
直接把 yml 放在和 jar 包同级目录,启动参数什么的也不用加,默认就会读取同级目录的 yml,如果要修改 jar 包内部的建议还是重新打包吧
|
6
Aresxue 2020-03-23 10:24:23 +08:00
可以在原有基础上修改文件内容, 但直接删除或添加文件可能会导致意外的情况发生,因为打包的时候文件的结构信息也会被 maven 固定
|