程序换了个tomcat部署出现了问题,在原来的系统里好好的。最后定位问题发现是使用dom4j读取jar包中文件出现的问题,dom4j的异常是:org.dom4j.DocumentException: null Nested exception: null,经过观察发现拿到的InputStream对象为空。再追代码发现是因为JarFile压根就没有读到文件。顺手换成了当前线程上下文去读取文件,这次抛出的异常很清楚,jar文件找不到。最近经过观察发现是引文文件路径中存在空格,这是和原来系统不同的地方,去掉空格后问题解决。
顺便说说最近遇到的各种部署问题,基本上分类如下:
1、jar包冲突(比如tomcat自带的jar包和应用程序jar包的冲突);
2、部署路径问题,比如上边说的存在空格什么的;
3、tomcat版本的问题,比如涉及到URL处理相关的问题;
正式部署环境不比在IDE环境下调试那么方便,所以平时写代码时关键节点的日志一定要重视起来,否则到时候你干着急没有办法。而且,有的问题dug的情况下根本无法复现问题,比如在多线程程序的情况下。
没有什么技术含量,有时候部署程序这些环境问题让人头疼,写出来希望帮大家节省点时间。
时间: 2024-11-06 14:51:16