easypoi 导入oracle,记一次由openjdk导致的poi错误(easyexcel)
项目中尝试使用了easyexcel替换了原生poi。测试时线下没啥问题,放到服务器里导出的文件就被损坏。
由于这篇记录是后补的,所以没有报错截图。
大致的错误是:缺少字体样式文件导致的null报错,而字体样式是jdk自带的。
我自己检测了代码没发现什么问题。最后和同事一起在服务器的log中发现了一个null报错。然后查看了整个项目的部署流程,终于发现问题。
因为线上运维环境已换成了k8s集群部署,所有的前后端都需要打成docker镜像,在pod里跑。我查看了api镜像打包的dockerfile文件,然后看到了这一行:
FROM openjdk:8-jdk-alpine
卧槽,什么情况?啥时候换openjdk了?咋没人通知?
openjdk具体是啥?
这么说吧,openjdk与jdk的区别。openjdk开源、免费、只包含了最精简的JDK。通常由于产权,openjdk中大多数关于SUN JDK的源码被替换了。所以easyexcel或者说poi中使用到的JDK字体文件就会报null异常。
更详细的请百度。
解决方法:
我们采用的方法是,把运维人员拖出来打一顿,然后dockerfile里把openjdk换了:
oracle-serverjre:8
说到底还是经验不足,其实早点在前端把导出的log打出来就发现错误了。
easypoi 导入oracle,记一次由openjdk导致的poi错误(easyexcel)相关推荐
- sql server 2008数据导入Oracle方法
试了几种sql server数据导入Oracle的方法,发现还是sql server 的导入导出工具最好使.使用方法很简单,照着向导做就可以.不过使用中需要注意以下几点: 系统盘需要足够大.因为SSI ...
- shp文件导入Oracle并发布到Geoserver
将shp文件导入oracle中,并发布到geoserver上 1. 环境准备 1.1 环境介绍 Oracle 11g Geoserver 2.11.1 1.2 软件准备 首先需要安装支持空间数据的or ...
- Excel百万数据导入oracle,excel表数据导入oracle的方法!(超级有用)
excel表导入oracle数据库的方法,这些方法也可以用于将其它格式的数据导入到oracle中,这里只是以excel为例.oracle9i以上.21村落‑i3?:L L4s9U#[z:u,U‑l方法 ...
- 如何将TXT,EXCEL或CSV数据导入ORACLE到对应表中
如何将TXT,EXCEL或CSV数据导入ORACLE到对应表中 2011-05-12 14:19 方法一,使用SQL*Loader 这个是用的较多的方法,前提必须oracle数据中目的表已经 ...
- 批处理实现从Excel导入Oracle
之前做过一个从Oracle导出到Excel的批处理,简单点说就是通过Sqlplus将表数据Spool到一个文本文件中或简化的Excel格式文档中,而这里我要做的事恰好相反,工具则是使用sqlldr, ...
- sql中的text字段如何导入oracle
这一段时间在把SQLSERVER迁移到ORASCLE,中间遇到了一系列的问题,通过查找资料和想办法,已经基本顺利解决,后面我会针对两个数据库迁移过程中我遇到的问题,整理汇总成一个个小问题,带着实例编码 ...
- 简析将shp导入Oracle并利用geoserver将导入的数据发布
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.环境准备 1.1 软件准备 首先要安装有支持空间数据的Oracle ...
- oracle+挂载dbf,dbf导入oracle工具下载|OracleToDbf(dbf导入oracle工具) v1.2官方版 附教程_星星软件园...
OracleToDbf是一款好用的dbf导入oracle工具,该工具操作简单,只需要几个简单的步骤,就可以完成导入导出操作,它还拥有提供重复操作.查询导出.自动导出等实用功能,为您节约大量的时间,具有 ...
- dataset中的数据批量导入oracle数据库,c#如何将dataset中的数据批量导入oracle数据库...
c#如何将dataset中的数据批量导入oracle数据库以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! c#如何将da ...
最新文章
- 【深度学习】面向医学图像的病灶分割调研(一)
- 【数字信号处理】线性时不变系统 LTI “ 输入 “ 与 “ 输出 “ 之间的关系 ( 线性卷积计算方法列举 | 线性卷积计算案例一 | 根据 线性卷积 定义直接计算 卷积 )
- “让Keras更酷一些!”:分层的学习率和自由的梯度
- php实现上传文件功能,简单实现php上传文件功能
- BeautifulSoup 返回网页标签的名称、父标签名称、行号、完整路径
- 为什么Java不允许super.super.method();
- .NET环境下水晶报表使用总
- SQL查询集合合并成字符串
- 模拟器与真机的程序差别J2ME
- Vue打包时报错:ReferenceError: primordials is not defined
- python读取中文txt操作 转化为拼音
- Atitit.web ui 组件化 vs mvc
- dlib android 识别时间,android dlib调用
- 苹果手机绕激活锁之亲身体验
- VEX到底是一种什么机器人?和乐高有什么区别?
- 淘宝APP用户体系运营拆解​
- 博客线下推广的小技巧
- 如何使用OpenCV在图像中抠出指定的颜色区域
- Lodash pick
- 使用有道api抓取读音
热门文章
- stauml工具怎么导入文件_小伙教大家怎么剪辑短视频,1小时就学会添加字幕,值得收藏哦...
- 年货节页面PSD分层模板,拿稳了!应急!
- PPT优秀模板|7个技巧,让你的设计呈现更加完美
- 艺术创意灵感地---集设网 | 人体彩绘的张力
- oracle中实现分页,Oracle中实现分页的方法
- 移动端上下拖动调整顺序效果_移动端上下滑动事件之--坑爹的touch.js
- mysql 停数据库_mysql数据库突然停了
- vue 表格中有列需要异步加载_Vue中使用async/await解决异步请求问题
- Ubuntu20.04安装eBPF BCC
- OpenVDB Download