Java 开发出现的bug的经验总结(持续更新)

1.jar包损坏导致idea启动报错

报错信息:error in opening zip file

报错原因:jar文件损坏

解决方案:更换jar包

tips:检查一个jar包有没有损坏的方法: jar -tvf  xx.jar  (显示jar包)

2.equal导致的空指针异常

解决方案:将常量或确定的值放在equal左边

eg: "abc".equal(user.getName);

3.mybatis使用时,报错 with invalid types () or values ()

报错信息:Caused by: java.lang.NoSuchMethodException: com.ding.test.User.<init>()

报错原因:由于mybatis在创建bean映射的时候需要无参的构造其来构造对象,然后才进行赋值操作,正常情况下,每一个实体类在初始化时默认(隐式)会自动创建无参构造函数,但是若显式的增加构造函数,则默认的无参构造函数就不会自动创建。

解决方案:由于开发需要,本实体类已经创建了一个带参构造函数,因此需要显式增加无参构造函数。

4.在使用ResponseBody返回字符串的时候多了引号,导致返回数据解析异常

报错原因:当@ResponseBody返回时,会自动给返回值json化,所以将string转成json。

解决方案:使用HttpServletResponse返回输出到流中。

5.JfreeChart导出图表中文显示乱码

报错原因:服务器缺少相对应的中文字体,会导致乱码。

解决方案:对于Linux服务器来说,安装中文字体方法-在usr/share/fonts目录下新建一个目录,比如叫”windows-fonts”
下载或者从windows fonts目录复制字体文件上传到Linux “/usr/share/fonts/windows-fonts”目录,在”/usr/share/fonts/windows-fonts/”目录下执行: mkfontscale执行成功后,再次执行:fc-list :lang=zh,若有输出,说明安装成功。

 

猜你喜欢

转载自blog.csdn.net/qq_30490591/article/details/80929732