`
Chrislee
  • 浏览: 64379 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Exception经验记录

    博客分类:
  • JAVA
阅读更多
转载请注明: http://chrislee.iteye.com/
  
以前碰到过的一些异常和解决办法的记录,拿上来晾着吧,说不定还可以帮上某些朋友,呵呵,我也会继续积累的~~~

************************************************************************************
1  ##JAVAWS=".\jre\bin\javaws.exe"
记录时间:2007-08-08 In Struts validate formework

异常特征:No form found under XXX in locale 'zh_CN'

avax.servlet.jsp.JspException: No form found under 'employeeForm' in locale 'zh_CN'
at org.apache.struts.taglib.html.JavascriptValidatorTag.renderJavascript

(JavascriptValidatorTag.java:384)
at org.apache.struts.taglib.html.JavascriptValidatorTag.doStartTag(JavascriptValidatorTag.java:349)
..........................

产生原因:1 在validation.xml中缺少了相应的<form>配置

************************************************************************************
2
记录时间:2007-08-08 In Struts ActionMessages or Taglib

异常特征:cannot found bean XXX in any scope

....................................

产生原因:1 相关位置的bean名称不匹配、
  2 或在资源文件正没有注册相应消息的键值


************************************************************************************
3
记录时间:2007-08-08 In Servlet Filter

异常特征:验证登录用的filter不停重复调用自身

....................................

产生原因:1 web.xml中<filter-mapping>的<url-pattern>/*</url-pattern>过滤路径包含转发目标
    页自身,另外在Filter类的逻辑中response.sendRedirect("RedirectPath")的转发路径
    有问题。可用以下代码辅助测试:
String request_uri =hrequest.getRequestURI();
String ctx_path = hrequest.getContextPath();
System.out.println("request_uri = " + request_uri);
System.out.println("ctx_path = " + ctx_path);
System.out.println(request_uri.substring(ctx_path.length()));
 

************************************************************************************
4
记录时间:2007-08-14 In Hibernate

异常特征:不能将显式值插入时间戳列。请对列列表使用 INSERT 来排除时间戳列,
  或将 DEFAULT 插入时间戳列。

java.sql.SQLException: 不能将显式值插入时间戳列。请对列列表使用 INSERT 来排除时间戳列,
或将 DEFAULT 插入时间戳列。
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)

....................................

产生原因:数据库表中的列数据类型定义问Timestamp,因此在SQL Insert into 语句中不能显式插入值。
  而hibernate中对应的 对象-表映射文件(*.hbm.xml)中没有为该属性设置 insert="false"

update="false"

************************************************************************************
5
记录时间:2007-08-18 In Hibernate

异常特征:ERROR BasicLazyInitializer:130 - CGLIB Enhancement failed: test.model.Person
net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
....................................
... 16 more
Caused by: java.lang.SecurityException: class "test.model.Person$$EnhancerByCGLIB$$73475a87"'s signer

information does not match signer information of other classes in the same package

产生原因:MyEclipse 导入的Hiberante3 Core Libraries 中cglib-2.1.3.jar与Hiberante3有版本冲突
  但初步看来不影响使用,可将cglib-2.1.3.jar更换到更高版本。

************************************************************************************
6
记录时间:2007-08-18 In Hibernate

异常特征:org.hibernate.hql.ast.QuerySyntaxException: XXX is not mapped. [from Demand where unitid = ?

and needNum > usedNeedNum]

....................................

产生原因:hibernate.cfg.xml没有配置XXX.hbm.xml文件的目录

************************************************************************************
7
记录时间:2007-08-19 In Hibernate on Web

异常特征:%%%% Error Creating SessionFactory %%%%
java.lang.SecurityException: class "org.apache.commons.collections.SequencedHashMap"'s signer

information does not match signer information of other classes in the same package
   at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
   at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
   at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
   at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1817)
   at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)
   at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)

....................................

产生原因:MyEclipse 6.0M1 Hibernate3 Core Libraries 的版本问题,换个高于3.1.2的就OK

************************************************************************************
8
记录时间:2007-08-23 In SpringFramework

异常特征:Exception in thread "main" org.springframework.context.NoSuchMessageException: No message

found under code 'user.login' for locale 'en_US'.

....................................

产生原因:国际化用的资源文件(*.properties)没有放置在src(项目根目录)目录下

************************************************************************************

记录时间:2007-08-24 In SpringFramework AOP

异常特征:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean

with name 'org.springframework.aop.aspectj.AspectJPointcutAdvisor': Instantiation of bean failed;

nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean

class [org.springframework.aop.aspectj.AspectJPointcutAdvisor]: Constructor threw exception; nested

exception is java.lang.IllegalArgumentException: warning no match for this type name: test.proxyAndAOP

[Xlint:invalidAbsoluteTypeName]
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class

[org.springframework.aop.aspectj.AspectJPointcutAdvisor]: Constructor threw exception; nested exception

is java.lang.IllegalArgumentException: warning no match for this type name: test.proxyAndAOP

[Xlint:invalidAbsoluteTypeName]
Caused by: java.lang.IllegalArgumentException: warning no match for this type name: test.proxyAndAOP

[Xlint:invalidAbsoluteTypeName]
at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:315)
at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression

(AspectJExpressionPointcut.java:189)
at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch

(AspectJExpressionPointcut.java:176)

....................................

产生原因:aop:pointcut的表达式写错了
  "execution(* XXXXX.*(..))"
************************************************************************************

记录时间:2007-09-08 In WebWork2.2.6 Action

异常特征:java.lang.NullPointerException
  明明填入了参数但仍然报参数为Null
....................................

产生原因:有可能是xwork.xml中参数拦截器写错了  

************************************************************************************

记录时间:2007-09-09 In Hibernate3.2.2GA + Spring2.0.3 + WebWork2.2.6

异常特征:java.lang.NullPointerException
at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
at org.hibernate.persister.entity.AbstractEntityPersister.createProxy

(AbstractEntityPersister.java:3121)
at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary

(DefaultLoadEventListener.java:232)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:869)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:788)
at org.hibernate.impl.SessionImpl.load(SessionImpl.java:781)
at d1.persist.test.SessionTest.testDetachedObject(SessionTest.java:155)

打开log4j后日志表现该问题为:
所需记录已经从数据库中成功取出装入ResultSet后貌似无故抛出java.lang.NullPointerException
....................................

产生原因:MyEclipse 导入的Hiberante3 Core Libraries 中cglib-2.1.3.jar与Hiberante3有版本冲突。
change this in cglib-2.2_beta1.jar fixed the problem for my application.

另外在session.load operation 时 也有可能出现这个problem

************************************************************************************

记录时间:2007-09-17 In Hibernate3.2.2GA + Spring2.0.3 + Struts1.2.0 on MyEclips6.0GA

异常特征:tomcat6启动时........
严重: Servlet /bookstore threw load() exception
java.lang.SecurityException: class "org.apache.commons.collections.FastHashMap"'s signer information

does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1817)

....................................

产生原因:Myeclipse里自带的commons-beanutils和commons-collections的签名问题,去apache下载一个替换了就好

了。

************************************************************************************

记录时间:2007-09-20 In Hibernate3.2.2GA + Spring2.0.3 + Struts1.2.0 on MyEclips6.0GA

异常特征:tomcat6启动时........
严重: action: null
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from

ServletContext resource [/WEB-INF/action-servlet.xml]; nested exception is

java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/action-servlet.xml]
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/action-

servlet.xml]
at org.springframework.web.context.support.ServletContextResource.getInputStream

(ServletContextResource.java:99)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions

(XmlBeanDefinitionReader.java:297)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions

(XmlBeanDefinitionReader.java:280)

....................................

产生原因:Struts-config.xml里整合spring的plug-in中的property写错了。
应该是
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
  <set-property property="contextConfigLocation" value="/WEB-INF/spring-web-beans.xml"/>
  </plug-in>

************************************************************************************

记录时间:2007-09-24 In Hibernate3.2.2GA + Spring2.0.3 + Struts1.2.0 on MyEclips6.0GA

异常特征:输入地址后一片空白,无任何显示,也不报任何异常。

....................................

产生原因:Filter中没有写chain.doFilter(request, response);

************************************************************************************
....................................

中间一年多的内容丢了~~~~好可惜呀~~~~
....................................

************************************************************************************

记录时间:2008 - 12 - 22  iBATIS + Spring2.5 on MyEclips6.0GA

异常特征:java.lang.IllegalArgumentException: No SqlMapClient specified
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:163)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject

(SqlMapClientTemplate.java:241)

....................................

产生原因:在测试用例里面没有使用Spring初始话DAO,而是直接new DOA实现了,大意了,嘿嘿。
正确的方法应该是:
protected void setUp() throws Exception {

ApplicationContext context =
new ClassPathXmlApplicationContext("applicationContext.xml");

seqImpl = (DAOIBtaisTemplateIMPL) context.getBean("DAOIBtaisTemplateIMPL");
}

分享到:
评论
1 楼 swit1983 2009-08-31  
又一年多丢了 可惜了

相关推荐

Global site tag (gtag.js) - Google Analytics