Exception经验记录

来源:互联网 发布:godaddy主机数据库 编辑:程序博客网 时间:2024/04/28 13:20
Exception经验记录关键字: exception转载请注明: http://chrislee.javaeye.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中缺少了相应的
配置************************************************************************************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类的逻辑中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.Personnet.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null....................................... 16 moreCaused by: java.lang.SecurityException: class "test.model.Person$$EnhancerByCGLIB$$73475a87"'s signerinformation 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 signerinformation 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 messagefound 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 beanwith name 'org.springframework.aop.aspectj.AspectJPointcutAdvisor': Instantiation of bean failed;nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate beanclass [org.springframework.aop.aspectj.AspectJPointcutAdvisor]: Constructor threw exception; nestedexception 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 exceptionis 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.NullPointerExceptionat 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() exceptionjava.lang.SecurityException: class "org.apache.commons.collections.FastHashMap"'s signer informationdoes not match signer information of other classes in the same packageat 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: nullorg.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document fromServletContext resource [/WEB-INF/action-servlet.xml]; nested exception isjava.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写错了。应该是 ************************************************************************************记录时间: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 specifiedat 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");}