Cause: java.lang.InstantiationException: earl.vo.Student
解决办法:导致这个异常的原因是没有对实体类添加无参构造函数。
2.com.ibatis.sqlmap.client.SqlMapException: There is no statement named 命名空间名.调用sql的id in this SqlMap.
解决办法:这个异常是因为编译器没有找到对应命名空间下的sql
有两种情况,第一种是真的没有找到,那么就需要检查拼写是否正确
第二种情况是确实存在,而且也没有拼写错误,那么需要检查sqlMapConfig.xml中settings标签下的属性useStatementNamespaces是否为true,为true时才可以使用命名空间。
3.使用struts2时,在jsp页面通过struts标签<s:property value="name"/>无法取到值。
解决办法:在Action中不通过new对象来设定属性值。
4. org.xml.sax.SAXParseException: The content of element type "sqlMapConfig" is incomplete, it must match "(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+".
解决办法:这个异常是因为sqlMapConfig.xml中标签的顺序不正确导致的。应该按照异常信息中的提示的顺序编写。
5.java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
解决办法:通常时web项目时会出现类似于这种的异常。首先检查是否存在相应jar包,如果存在,则要将jar包引入到项目中,最简单直接的办法就是把jar包拷贝到web-inf下的lib中。因为在web项目部署时,如果jar包没有相应的部署过去,在启动时就会抛出类似异常。
6.There is no Action mapped for namespace / and action name
解决办法:①没有找到struts.xml文件,这个文件一定要放在src下。
②struts.xml文件名拼写错误。
③struts.xml文件内部配置不正确。
7.java.security.UnrecoverableKeyException: Cannot recover key
解决办法:出现这个异常是因为私钥privateKey的密码不对,正确的密码即可解决此异常
8. java.sql.DataTruncation: Data truncation
解决办法:导致这个异常是因为数据库相应表字段的长度不够。解决办法是增加表字段的长度。
9.javax.mail.AuthenticationFailedException: 503 Authentication failed
解决办法:导致这个异常是因为邮件发送的用户名或者密码错误。解决办法是更正用户名或密码。
10.org.springframework.dao.DataIntegrityViolationException
解决办法:导致这个异常是因为数据库相应字段不能为空,那么将该字段设置为可为空即可。如果数据长度大于该字段的长度,无法插入,数据库也会报这个错误。
11.javax.xml.ws.WebServiceException: xxx is not a valid service. Valid services are:xxx
这个异常的原因是服务的地址不正确,需要检查服务的实现类的包名是否与服务的地址一致。
12.javax.xml.ws.soap.SOAPFaultException: Cannot find dispatch method for {http://impl.service.webservice/}list
将实现类与接口放在不同的包下就会报此错误。
13.HierarchyRequestError: Node cannot be inserted at the specified point in the hierarchy
在使用jquery时报错。原因是没有指定ajax方法的返回值的类型,即没有指定dataType的类型。
14.java.sql.DataTruncation: Data truncation
导致这个异常是因为数据库相应表字段的长度不够。解决办法是增加表字段的长度。
15.配置servlet的时候报错,说init-param非法。
cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One of '{"http://java.sun.com/xml/ns/javaee":run-as, "http://java.sun.com/xml/ns/javaee":security-role-ref}' is expected.
解决办法:把<load-on-startup>1</load-on-startup>放在init-param配置之后。
16.在安装配置maven的时候,命令行输入mvn -version命令报错:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
原因是本地的jdk版本过低,maven版本太高,无法使用高jdk编译的maven运行在低版本的jdk上
解决办法:升级本地jdk版本或者降低maven版本。
17.java.lang.IllegalStateException: Target host is null
在HttpClient使用中遇到这种异常,原因是没有在url前加上http://,那么加上就好了。
因为咱们认为的url在地址栏中输入提交后,浏览器会默认给我们加上http://,但是我们自己手输一个不带http://的url提交到服务端的时候就会产生异常。
18.java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
没有引入相应的jar包。
解决办法:引入standard.jar和jstl.jar
19.刷新验证码报错:javax.imageio.IIOException: Can't create output stream!
原因可能有两种:
第一种是tomcat目录下没有temp目录。
第二种是把ImageIO.write(image, "jpeg", response.getOutputStream());
修改为
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
encoder.encode(image);
20.com.sun.mail.smtp.SMTPSenderFailedException: 553 Mail from must equal authorized user
在开发邮件程序时报错,原因是在Message中setFrom的发送方和Transport中的connect的发送方不一致。
解决办法:保持一致就好了。
21.java.security.InvalidKeyException: Illegal key size or default parameters
原因:使用AES加密时,当密钥大于128时,java运行时环境读到的是受限的policy文件,代码会抛出该异常。
解决办法:http://download.csdn.net/download/u014682413/8298999
在这里下载jce的jar包,替换本地jre目录下/lib/security下的local_policy.jar和US_export_policy.jar。
22.java.lang.ClassNotFoundException: org.apache.commons.pool.KeyedObjectPoolFactory
原因:commons-pool2以上的jar里没有这个类,需要更换为commons-pool1.6.jar
23.在maven项目的依赖配置时,执行compile命令报以下错误:
Failed to execute goal on project earl.maven2:
Could not resolve dependencies for project com.earl.maven2:earl.maven2:jar:0.0.1-SNAPSHOT:
Could not find artifact com.earl.maven1:earl.maven1:jar:0.0.1-SNAPSHOT
原因:对于依赖的项目,没有打包安装到本地仓库中,maven2找不到maven1的依赖。
解决办法:对依赖的项目执行install命令。
24.JUnit-4.11使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
解决办法:加入hamcrest-core-1.3.jar
25.使用log4j记录spring日志,控制台没有输出spring启动日志,输出
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
解决办法:
将Log4jConfigListener配置在ContextLoaderListener的前面
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>