maven中hibernate-core和struts2-core中javassist解决办法(cannot be cast to javassist.util.proxy.Proxy)

今天写基于maven的ssh项目的时候出现

org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'execute' on target class [class cn.lichenyang.dms.web.action.MailJob] failed; nested exception is org.springframework.orm.hibernate5.HibernateSystemException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff; nested exception is org.hibernate.HibernateException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff
	at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:276)
	at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: org.springframework.orm.hibernate5.HibernateSystemException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff; nested exception is org.hibernate.HibernateException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff
	at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:302)
	at org.springframework.orm.hibernate5.HibernateTemplate.doExecute(HibernateTemplate.java:384)
	at org.springframework.orm.hibernate5.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:347)
	at org.springframework.orm.hibernate5.HibernateTemplate.findByExample(HibernateTemplate.java:999)
	at org.springframework.orm.hibernate5.HibernateTemplate.findByExample(HibernateTemplate.java:979)
	at cn.lichenyang.dms.dao.impl.BaseDaoImpl.queryByExample(BaseDaoImpl.java:79)
	at cn.lichenyang.dms.service.impl.QpWorkbillServiceImpl.queryByExample(QpWorkbillServiceImpl.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:338)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:72)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
	at com.sun.proxy.$Proxy66.queryByExample(Unknown Source)
	at cn.lichenyang.dms.web.action.MailJob.execute(MailJob.java:63)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:280)
	at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:267)
	... 3 more
Caused by: org.hibernate.HibernateException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff
	at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:133)
	at org.hibernate.tuple.entity.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:761)
	at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:4595)
	at org.hibernate.event.internal.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:359)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:274)
	at org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:121)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:89)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1239)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1122)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:646)
	at org.hibernate.type.EntityType.resolve(EntityType.java:431)
	at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:165)
	at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:125)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1152)
	at org.hibernate.loader.Loader.processResultSet(Loader.java:1011)
	at org.hibernate.loader.Loader.doQuery(Loader.java:949)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341)
	at org.hibernate.loader.Loader.doList(Loader.java:2692)
	at org.hibernate.loader.Loader.doList(Loader.java:2675)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2507)
	at org.hibernate.loader.Loader.list(Loader.java:2502)
	at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109)
	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1898)
	at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:370)
	at org.springframework.orm.hibernate5.HibernateTemplate.lambda$findByExample$35(HibernateTemplate.java:1010)
	at org.springframework.orm.hibernate5.HibernateTemplate.doExecute(HibernateTemplate.java:381)
	... 31 more
Caused by: java.lang.ClassCastException: cn.lichenyang.dms.entity.BcStaff_$$_javassist_11 cannot be cast to javassist.util.proxy.Proxy
	at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:126)
	... 56 more
ERROR [schedulerFactoryBean_Worker-1] - Job (DEFAULT.jobDetail threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'execute' on target class [class cn.lichenyang.dms.web.action.MailJob] failed; nested exception is org.springframework.orm.hibernate5.HibernateSystemException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff; nested exception is org.hibernate.HibernateException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'execute' on target class [class cn.lichenyang.dms.web.action.MailJob] failed; nested exception is org.springframework.orm.hibernate5.HibernateSystemException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff; nested exception is org.hibernate.HibernateException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff
	at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:276)
	at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
	... 1 more
Caused by: org.springframework.orm.hibernate5.HibernateSystemException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff; nested exception is org.hibernate.HibernateException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff
	at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:302)
	at org.springframework.orm.hibernate5.HibernateTemplate.doExecute(HibernateTemplate.java:384)
	at org.springframework.orm.hibernate5.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:347)
	at org.springframework.orm.hibernate5.HibernateTemplate.findByExample(HibernateTemplate.java:999)
	at org.springframework.orm.hibernate5.HibernateTemplate.findByExample(HibernateTemplate.java:979)
	at cn.lichenyang.dms.dao.impl.BaseDaoImpl.queryByExample(BaseDaoImpl.java:79)
	at cn.lichenyang.dms.service.impl.QpWorkbillServiceImpl.queryByExample(QpWorkbillServiceImpl.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:338)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:72)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
	at com.sun.proxy.$Proxy66.queryByExample(Unknown Source)
	at cn.lichenyang.dms.web.action.MailJob.execute(MailJob.java:63)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:280)
	at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:267)
	... 3 more
Caused by: org.hibernate.HibernateException: HHH000142: Bytecode enhancement failed: cn.lichenyang.dms.entity.BcStaff
	at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:133)
	at org.hibernate.tuple.entity.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:761)
	at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:4595)
	at org.hibernate.event.internal.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:359)
	at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:274)
	at org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:121)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:89)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1239)
	at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1122)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:646)
	at org.hibernate.type.EntityType.resolve(EntityType.java:431)
	at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:165)
	at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:125)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1152)
	at org.hibernate.loader.Loader.processResultSet(Loader.java:1011)
	at org.hibernate.loader.Loader.doQuery(Loader.java:949)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341)
	at org.hibernate.loader.Loader.doList(Loader.java:2692)
	at org.hibernate.loader.Loader.doList(Loader.java:2675)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2507)
	at org.hibernate.loader.Loader.list(Loader.java:2502)
	at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109)
	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1898)
	at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:370)
	at org.springframework.orm.hibernate5.HibernateTemplate.lambda$findByExample$35(HibernateTemplate.java:1010)
	at org.springframework.orm.hibernate5.HibernateTemplate.doExecute(HibernateTemplate.java:381)
	... 31 more
Caused by: java.lang.ClassCastException: cn.lichenyang.dms.entity.BcStaff_$$_javassist_11 cannot be cast to javassist.util.proxy.Proxy
	at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:126)
	... 56 more
主要上网搜了:cn.lichenyang.dms.entity.BcStaff_$$_javassist_11 cannot be cast to javassist.util.proxy.Proxy

网上说的是struts2-core和hibernate-core中的2个javassist的包有冲突,具体的结解决办法是:

我是写定时发送邮件的时候出现这个问题的,我的功能方法写在action包的下面的,所以打开action中的pom文件

点击如图位置,会发现有2个版本的javassist包名


单击低版本的(一般都是struts2的版本低)会出现如下界面,右键点击会出现如下界面


点击鼠标所在位置之后,eclipse会自动在pom文件中不调用点击的那个包,更新maven再次运行就行了

大家也可以去Maven中jar版本冲突问题的解决查看


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值