莫度编程网

技术文章干货、编程学习教程与开发工具分享

又学一招!java启动命令的秘密!(java 启动)

今天发布新java应用,配置文件有多个yml组成:

application-cache.yml
application-config.yml
application-db.yml
application-extension.yml
application.yml
regionmapper.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/

启动成功了。

又进步了!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言

    Powered By Z-BlogPHP 1.7.4

    蜀ICP备2024111239号-43