zoukankan      html  css  js  c++  java
  • spring boot本地开发与docker容器化部署的差异

    spring boot本地开发与docker容器化部署的差异:

    1. 文件路径及文件名区别大小写:

    本地开发环境为windows操作系统,是忽略大小写的,但容器中区分大小写

    2. docker中的容器内的时区需要单独设置

    docker内的时间与北京时间差8小时,所以需要设置一下 时区,可以在dockerfile中修改,或修改部署的yaml文件:name:TZ value:Asia/Shanghai

    3. 获取模板文件:

    容器化后,Resource下的文件是存在于jar这个文件里面,在磁盘上是没有真实路径存在的,它其实是位于jar内部的一个路径。所以通过ResourceUtils.getFile或者this.getClass().getResource("")方法都无法正确获取文件,只能通过stream的形式获取:

    正确的写法:

    InputStream stream = this.getClass().getClassLoader().getResourceAsStream(/template/opinion/33.docx")

    或者:

    ClassPathResource resource = new ClassPathResource("/template/opinion/33.docx");
    
            //加载模板文件,并替换机构意见书数据
            XWPFTemplate template = XWPFTemplate.compile(resource.getInputStream())
                    .render(model);

    4. 容器内默认是不支持中文字体的。如果需要如pdf打印的话,就需要安装字体

    
    
  • 相关阅读:
    [CF149D] Coloring Brackets(区间dp)
    [CF1437E] Make It Increasing(LIS)
    洛谷试题之跳石头
    【模板】深搜和广搜
    高精度阶乘
    【模板】拓扑排序
    【模板】最小生成树——Kruskal算法
    判断素数的方法
    高精度乘法
    高精度加法
  • 原文地址:https://www.cnblogs.com/hankuikui/p/11903545.html
Copyright © 2011-2022 走看看