今天发布新java应用,设置装备摆设文件有多个yml构成:

application-cache.ymlapplication-config.ymlapplication-db.ymlapplication-extension.ymlapplication.ymlregionmapPEr.PRoperties

此中:application.yml 有include将几个yml联系关系起来

spring: application: name: demo profiles: include: - cache - config - db - extension

凡是我们的应用启动号令是:

java \$JAVA_OPTS \$JAVA_AGENT -Djava.security.egd=file:/dev/./urandom -jar /app/java-application.jar --spring.config.location=/etc/config/application.yml

但是启动提醒找不到对应的 设置装备摆设文件数据。

好比application-cache.yml

#缓存设置装备摆设定义spring: ...... # 省略部门 设置装备摆设 #redis缓存设置装备摆设 redis: lettuce: pool: #毗连池设置装备摆设 max-active: 8 #更大毗连数,默认8 max-wait: -1 #更大阻塞时间,默认-1 max-idle: 8 #更大空闲毗连,默认8 min-idle: 0 #最小空闲毗连,默认0 min-evictable-idle-time: 30m #毗连的最小空闲时间,默认30分钟 time-between-eviction-runs: 15m #空闲毗连检测的周期.默认为-1,暗示不检测 host: x.x.x.x port: 6379 password: ******* #当地缓存设置装备摆设 cache: type: caffeine caffeine: spec: initialCapacity=100,maximumSize=1000,expireAfterWrite=30s

application.yml 是将application-cache.yml引入的,但是启动就是报错,找不到spring.redis.host.

后经同事提醒将启动号令设置装备摆设参数修改:

--spring.config.location=/etc/config/application.yml改成 --spring.config.location=/etc/config/ 后面不指定application.yml

完好号令:

java \$JAVA_OPTS \$JAVA_AGENT -Djava.security.egd=file:/dev/./urandom -jar /app/java-application.jar --spring.config.location=/etc/config/

启动胜利了。

又前进了!