当我在添加了一个pojo类并配置之后,重启tomcat出现了如下的异常:
- Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.ClassCastException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1337)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:354)
at org.springframework.web.struts.ContextLoaderPlugIn.initWebApplicationContext(ContextLoaderPlugIn.java:295)
at org.springframework.web.struts.ContextLoaderPlugIn.init(ContextLoaderPlugIn.java:225)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:871)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1029)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4013)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4357)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3043)
at org.apache.catalina.startup.HostConfig.restartContext(HostConfig.java:873)
at org.apache.catalina.startup.HostConfig.checkContextLastModified(HostConfig.java:759)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1085)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.StandardHost.backgroundProcess(StandardHost.java:800)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1619)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1628)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1608)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.ClassCastException
at org.hibernate.tuple.PropertyFactory.buildVersionProperty(PropertyFactory.java:84)
at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:160)
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:425)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1218)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
... 33 more
意思是说初始化[/WEB-INF/applicationContext.xml]时,出现了内嵌的异常java.lang.ClassCastException,引起的原因是java.lang.ClassCastException。
第一步:
在/WEB-INF/applicationContext.xml文件中通过屏蔽名为sessionFactory的bean下的一个属性来屏蔽掉hibernate.cfg.xml,
这样就拒绝了hibernate配置文件的引入,初始化时就不会加载hibernate.cfg.xml所涉及的一系列文件。
结果:没有报异常。
第二步:
第一步说明查找异常的范围正确了,把异常出现的范围缩小到hibernate配置相关的范围内。
那么现在继续在hibernate.cfg.xml中屏蔽各类对应的配置文件<mapping resource="*.hbm.xml" /> ,
当屏蔽掉<mapping resource="adam/bp/workflow/entity/TaProcDef.hbm.xml" /> 时,重启tomcat之后就不报异常了。
说明TaProcDef.hbm.xml文件的配置有问题。
第三步:
那就是如何正确配置TaProcDef.hbm.xmll文件了。
最终发现问题出现在了property中配置type出现了错误,但是修改type不一定有效。建议直接取消type这一项的配置,因为hibernate会自动匹配合适的类型。
归根结底,问题是出在了TaProcDef.hbm.xml文件的配置上。待TaProcDef.hbm.xml配置好之后,问题就解决了!
分享到:
相关推荐
在Java编程中,`java.lang.ClassCastException`是一个运行时异常,通常发生在强制类型转换时,如果尝试将一个对象转换为其非兼容类型时就会抛出。这个异常表明在编译时可能成功的类型转换,在运行时被证明是错误的。...
在Java编程过程中,类转换异常(java.lang.ClassCastException)是一种常见的异常,当程序试图将一个对象强制转换为不兼容的类型时,就会抛出此类异常。本文将详细介绍如何解决java.lang.ClassCastException,包括...
"java.lang.NoClassDefFoundError错误解决办法" java.lang.NoClassDefFoundError错误是一种常见的Java错误,它发生在Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。下面是该错误的解决...
java.lang.UnsupportedClassVersionError 是一种不支持的类版本错误,指的是在程序中 Java 虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前 Java 虚拟机支持的时候,抛出的异常。 33. java.lang...
java.lang.ArithmeticException 是一种常见的错误,发生在数学运算异常时。例如,在程序中出现了除以零这样的运算时,就会出现该错误。解决方法是检查代码,确保数学运算是正确的。 4. java.lang....
5. **`java.lang.ClassCastException`** - 在强制类型转换失败时抛出此异常,即尝试将一个对象强制转换为其实际类型以外的类型时。 6. **`java.lang.ArithmeticException`** - 发生算术运算错误时抛出此异常,例如...
- **java.lang.ClassCastException**:当尝试将对象强制转换为不兼容的类型时抛出。 - **java.lang.NegativeArraySizeException**:创建具有负长度的数组时抛出。 - **java.lang.SecurityException**:在安全管理器...
7. **java.lang.ClassCastException**: 当试图将对象强制转换为其非兼容类型时抛出。在进行类型转换前,应确认对象的实际类型。 8. **java.lang.NegativeArraySizeException**: 创建具有负长度的数组会导致此异常。...
7. **`java.lang.ClassCastException`** 在进行类型强制转换时,如果目标类型与实际类型不符,就会抛出此异常。在进行类型转换之前,使用`instanceof`关键字检查对象的实际类型。 8. **`java.lang....
| +-- java.lang.ClassCastException | +-- ... | +-- java.io.IOException +-- java.sql.SQLException +-- ... ``` `RuntimeException`是所有运行时异常的基类,包括像`NullPointerException`和`Arithmetic...
- **`java.lang.ClassCastException`**:当试图将对象强制转换为不兼容类型时抛出。 - **`java.lang.AbstractMethodError`**:当子类没有重写抽象父类的抽象方法时抛出。 - **`java.lang.ClassCircularityError`**:...
在Java编程中,XML(可扩展标记语言)是一种被广泛用于数据存储和交换的格式。为了处理XML文档,Java提供了多种API,其中最常用的包括DOM、SAX、DOM4J和JDOM。以下是对这些方法的详细介绍: 1. DOM(Document ...
7. **java.lang.ClassCastException**: 在强制类型转换时,如果目标类型与实际对象的类型不匹配,会抛出此异常。在进行类型转换前,应先使用`instanceof`关键字检查对象的类型。 8. **java.lang....
在Android开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON字符串,反之亦然。然而,在混淆代码时,可能会遇到一些问题,导致Gson无法正常工作。本文将深入探讨这些问题及其解决方案...
12. java.lang.ClassCastException 该错误是当试图将对象强制转换为不是实例的子类时,抛出该异常。解决方法是检查对象类型的合法性。 13. java.lang.ClassNotFoundException 该错误是当应用程序试图使用以下方法...
7. **java.lang.ClassCastException**: 在类型转换时,如果目标类型与实际类型不符,就会抛出此异常。在进行类型转换时,确保转换的合法性。 8. **java.lang.NegativeArraySizeException**: 创建具有负大小的...
Load canal adapter: es7 failed java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: ...canal-adapter1.1.5报错, 将client-adapter.es7x-1.1.5-SNAPSHOT-jar-with-dependencies....
12. **java.lang.ClassCastException**: 强制类型转换失败时抛出。只有当对象是目标类的子类或实现了目标接口时,才能成功进行类型转换。 13. **java.lang.ClassNotFoundException**: 在运行时找不到指定的类时,抛...