1、使用Tomcat运行“播报哥架构”出现的两大异常

1.1 监听器异常

详细情况:部署好Maven项目,启动TOMCAT提示如下错误

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

错误原因及解决办法:

网上资料基本上都是说没有导入spring-web.jar,但是我的项目中是添加了spring-web.jar的。一直想不到办法,后面改了些地方,该异常消失了,但又出现了下面说的Zip异常,搞了大概有3天,后面有人解决了,问下别人才发现原来是工程部署错误。现在想想其实当时是太焦急了,处理这个异常的思路应该是:“先找Tomcat下部署的该项目的lib文件夹,检查其中是否有spring-web.jar,结果是没有的,那里连lib文件夹都没有,然后再去百度,你会发现原来是工程部署配置问题,接着答案就出来了”。

1.1.1  maven项目部署后没有依赖的jar包

1、部署后,WEB-INF/lib 里如果没有maven依赖的 jar 包,请检查工程部署配置:

2、如果没有看到 maven 依赖配置,打开 pom.xml 检查打包类型是否是war:

1.2  Zip异常

详细情况:部署好Maven项目,启动TOMCAT提示如下错误

java.util.zip.ZipException: invalid LOC header (bad signature)

错误原因及解决办法:到网上搜索资料,发现该错误的原因是jar包由于位置原因被破坏了,然后我就将Maven仓库中的jar包全部删除,接着打开项目,进行“update project”操作,使得jar包重新下载到Maven仓库中,最后发现错误解决了。(如若有问题,就复制一个能正常运行Maven项目的电脑中的仓库,将该仓库的jar全部复制到自己的仓库中,然后再重复上述步骤)

2、服务器内存异常

详细情况:启动TOMCAT提示如下错误

Exception in thread "http-apr-8080-exec-3"  java.lang.OutOfMemoryError: PermGen space

错误原因及解决办法:原因就是服务器内存过小,将以下信息配置好即可。

配置信息:-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m

 

3、JDK版本异常

详细情况:

java.lang.UnsupportedClassVersionError: com/hyq/sm/TestSM : Unsupported major.minor version 51.0

错误原因及解决办法:这个问题是由较高版本的JDK编译的java class文件试图在较低版本的JVM上运行产生的错误。第一个办法是在自己电脑上新建一个项目,然后将数据全部复制过来即可;第二个办法是改变JDK的版本为1.7或更高。

4、Mybatis的mapper配置文件命名空间异常

详细情况:

Attribute "namespace" must be declared for element type "mapper".

错误原因及解决办法:当mybatis的jar包版本在3.2或更低时,就会报此错误。将mybatis的jar包换成3.4.4版本即可;

5、hibernate相关类找不到异常

详细情况:

Property 'validationMessageSource' threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/validator/spi/resourceloading/ResourceBundleLocator

错误原因及解决办法:hibernate-validator的jar包版本过低(版本小于等于4.1.0),没有ResourceBundleLocator类。更换成hibernate-validator-4.3.0.Final.jar即可;

6、mybatis运行时异常

详细情况:

org.apache.ibatis.reflection.ReflectionException: Error instantiating null with invalid types () or values (). Cause: java.lang.NullPointerException

错误原因及解决办法:写一对一查询时,association的javaType属性没有写;或写一对多查询时,collection的ofType属性没有写;

7、xml语法分析异常

详细情况:

org.xml.sax.SAXParseException: The string "--" is not permitted within comments

错误原因及解决办法:是因为多行注释中写了”--”字符串;只要连在一起的横杠个数大于等于2,就会出错。

8、mybatis和spring整合异常

详细情况:

java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer;

错误原因及解决办法:jar包兼容性问题,把mybatis和spring的整合jar包改为高版本1.3.0就可以了。

9、复制属性异常

详细情况:

org.apache.commons.beanutils.ConversionException: No value specified for 'Date'

错误原因及解决办法:使用“BeanUtils.copyProperties(u1, u2);”的时候,由于u2有一个属性是Date类型,并且为空,所以引发此异常。跟u1无关;

注意:u1是目标对象,u2才是源对象。

10、SQL语句乱码

详细情况:使用Mybatis框架操作MySql数据库时,项目编码和数据库编码都是utf-8,连接的URL也设置了编码类型,但SQL语句就是乱码。

错误原因及解决办法:排查许久,才发现原来数据库表中的字段名是数据库的关键字,将其改正,SQL语句就正常了。

11、String转化为Date出错(*)

详细情况:使用SimpleDateFormat类,将其格式设为"YYYY-MM-dd",将指定日期字符串转化为Date的时候,得到的Date日期却与实际日期不符。

错误原因及解决办法:要将格式YYYY设为yyyy,目前也不知原因为何。

12、文件下载中文文件名不显示

详细情况:无

错误原因及解决办法:大体的原因就是header中只支持ASCII,所以我们传输的文件名必须是ASCII,当文件名为中文时,必须要将该中文转换成ASCII。按照以下做法即可解决该问题,

13、运行mybatis时不能显示log4j日志

详细情况:无

错误原因及解决办法:因为我的项目是web项目,所以要在网页上运行才会显示日志;而普通的Java项目直接运行就会显示日志;其次,注意要把log4j的级别配成debug,jar包只需要导入log4j.jar即可,其余的log4j-api、log4j-core、slf4j的jar包都不需要;

 

 

备注:该文档一级标题为黑体三号加粗,二级标题和三级标题为宋体正文三号加粗,概括字体为楷体三号加粗,内容为楷体三号,关键语句为楷体三号红色字体,异常为Consolas三号红色字体,小型描述性文字为PingFang SC 小四字体,大标题为宋体标题20号。

Java异常归纳的更多相关文章

  1. Java 异常归纳总结

    1.异常的分类 1) Checked exception: 这类异常都是Exception的子类 .异常的向上抛出机制进行处理,如果子类可能产生A异常,那么在父类中也必须throws A异常.可能导致 ...

  2. Java基础10:全面解读Java异常

    更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...

  3. 浅谈java异常[Exception]

    学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...

  4. 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?

    本文转载自  java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...

  5. Java异常体系及分类

    上图是基本的java异常体系结构. 主要分为2大类:Error和Exception 1.Error:描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象,一般是由虚拟 ...

  6. Java异常之自定义异常

    哎呀,妈呀,又出异常了!俗话说:"代码虐我千百遍,我待代码如初恋". 小Alan最近一直在忙着工作,已经很久没有写写东西来加深自己的理解了,今天来跟大家聊聊Java异常.Java异 ...

  7. 第11章 Java异常与异常处理

    1.Java异常简介 1.什么是异常异常出现的时候代码会无法正常运行下去,会产生各种问题2.捕捉异常的作用提早发现异常,方便查找问题,并给出解决方法3.Java中的异常1.Java中所有不正常的类都是 ...

  8. java 异常

    1.java异常 2.自定义抛出 3.运行时异常,程序有问题,让使用者可以改' ' 4.return  和  throw的区别 return 符合函数要求的值    throw  有问题的时候用它结束 ...

  9. 3.Java异常进阶

    3.JAVA异常进阶 1.Run函数中抛出的异常 1.run函数不会抛出异常 2.run函数的异常会交给UncaughtExceptionhandler处理 3.默认的UncaughtExceptio ...

随机推荐

  1. OCCI编程接口介绍

    OCCI简介 Oracle® C++ Call Interface (OCCI) 是一套应用程序编程接口,它允许C++程序与一个或者多个Oracle数据库进行交互.OCCI给予你强大的数据库操作能力, ...

  2. pdf解锁和脱水印

    解锁工具下载http://pan.baidu.com/s/1o8FcKFC 使用方法: 第一步: 打开加密pdf文件保存即可 参考:http://www.epinv.com/post/157.html

  3. (水题)洛谷 - P1553 - 数字反转(升级版) - 字符串格式转换

    https://www.luogu.org/problemnew/show/P1553 忘记给整数加上前导零去除的代码了.其实不去也可以,额外的进位用一个carry另外存起来就好. #include& ...

  4. codeforces 611C

    题意: 给你一个矩阵,矩阵里有" . "和" # "," . "表示空的," # "表示禁止的. 多米诺骨牌将占据正好有 ...

  5. Unity里的人物驱动/换装备/换武器/换衣服/卡通重定位(转)

    Unity里的人物驱动/换装备/换武器/换衣服/动画重定位 刚学的过程被这个问题困扰最多. 首先,基本的,大家都知道驱动人物需要骨架.绑骨的Mesh和动画(这三个要是不知道的话就得考虑看看计算机图形学 ...

  6. NOIP2017 赛后总结

    NOIP2017 确实,一场很深刻的考试结束了. 现在也已经搞了两周的学科了,在补之前两个月的学科的内容. 距离11.12已经过去12天了. 姓名 准考证号 math complexity park ...

  7. 黑客攻防技术宝典web实战篇:攻击数据存储区习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 如果要通过实施 UNION 攻击.利用 SQL 注入漏洞获取数据,但是并不知道最初的查询返 ...

  8. 第十五篇 .NET高级技术之正则表达式

    正则表达式 正则表达式是对字符串进行匹配的语法,像name like '%李%'一样,定义了一些特殊的“元字符”,用来判断一个字符串是否满足某个规则.正则表达式非常深,编译器都是基于正则表达式,掌握基 ...

  9. ubuntu 给文件夹创建桌面快捷方式, 其实就是创建个软链接

    ln -s /home/zdj/Documents/windows_backup/2019Spring/ ~/Desktop/2019Spring ln -s /home/zdj/Documents/ ...

  10. Hexo瞎折腾系列(6) - 将博客同时部署到Github和Coding

    前言 由于本人只是将Hexo博客同时部署到 Github 和 Coding.net ,所以这里只介绍怎么同时部署到这两个网站的pages. 之所以选择这两个网站,是因为国外用户可以访问 Github, ...