JRebel热部署spring mvc时发生的异常。

JRebel: ERROR org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] no such class: handlerMethods
        at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:79)
        at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:45)
        at org.zeroturnaround.javarebel.integration.spring.cbp.AbstractHandlerMethodMappingCBP.process(AbstractHandlerMethodMappingCBP.java:22)
        at org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor.process(JRebel:70)
        at com.zeroturnaround.javarebel.xB.a(JRebel:257)
        at com.zeroturnaround.javarebel.xB.a(JRebel:246)
        at com.zeroturnaround.javarebel.xB.a(JRebel:230)
        at com.zeroturnaround.javarebel.SDKIntegrationImpl.runBytecodeProcessors(JRebel:128)
        at com.zeroturnaround.javarebel.xl.transform(JRebel:45)
        at java.lang.ClassLoader.defineClass(ClassLoader.java)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:328)
        at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:285)
        at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:42)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:328)
        at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:285)
        at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:42)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:328)
        at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:285)
        at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:42)
        at org.springframework.web.servlet.config.AnnotationDrivenBeanDefinitionParser.<clinit>(AnnotationDrivenBeanDefinitionParser.java:152)
        at org.springframework.web.servlet.config.MvcNamespaceHandler.init(MvcNamespaceHandler.java:34)
        at org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver.java:131)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1406)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1401)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:168)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:138)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:94)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:508)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
        at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:608)
        at org.springframework.context.support.AbstractApplicationContext.__refresh(AbstractApplicationContext.java:509)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java)
        at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:667)
        at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:633)
        at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:681)
        at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:552)
        at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:493)
        at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
        at javax.servlet.GenericServlet.init(GenericServlet.java:241)
        at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
        at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
        at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
        at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
        at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1976)
        at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1950)
        at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1869)
        at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3126)
        at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1512)
        at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:486)
        at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
        at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
        at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
        at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
        at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
        at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
        at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
        at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1267)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
        at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409)
        at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:43)
        at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
        at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
        at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
        at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
        at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)
        at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
        at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
        at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
        at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
        at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)
        at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)
        at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: compile error: no such class: handlerMethods
        at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.searchImports(JRebel:468)
        at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.lookupClass(JRebel:412)
        at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.lookupClassByJvmName(JRebel:319)
        at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atCallExpr(JRebel:678)
        at org.zeroturnaround.bundled.javassist.compiler.JvstTypeChecker.atCallExpr(JRebel:157)
        at org.zeroturnaround.bundled.javassist.compiler.ast.CallExpr.accept(JRebel:46)
        at org.zeroturnaround.bundled.javassist.compiler.CodeGen.doTypeCheck(JRebel:242)
        at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:330)
        at org.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(JRebel:50)
        at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:351)
        at org.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(JRebel:50)
        at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atMethodBody(JRebel:292)
        at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atMethodDecl(JRebel:274)
        at org.zeroturnaround.bundled.javassist.compiler.ast.MethodDecl.accept(JRebel:44)
        at org.zeroturnaround.bundled.javassist.compiler.Javac.compileMethod(JRebel:169)
        at org.zeroturnaround.bundled.javassist.compiler.Javac.compile(JRebel:95)
        at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:74)
        ... 102 more

原因及解决办法:此版本JRebel不支持spring mvc 4.2.7以上版本。获取最新的JRebel或降低spring mvc版本可以解决这个问题。

时间: 2024-10-15 18:12:36

JRebel热部署spring mvc时发生的异常。的相关文章

Spring Boot在开发时实现热部署(开发时修改文件保存后自动重启应用)

热部署是什么 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的Class文件,这个文件里记录着和代码等对应的各种信息,然后Class文件将被虚拟机的ClassLoader加载. 而热部署正是利用了这个特点,它监听到如果有Class文件改动了,就会创建一个新的ClaassLoader进行加载该文件,经过一系列的过程,最终将结果呈现在我们眼前. 类加载机制 Java中的类经过编译器可以把代码编译为存储字节码的C

spring autowired时发生异常情况

spring beanFactory那些就不说了,这次发生这个异常纠结好了好久,网上找了很多资料看,终于发现问题. 自动装配bean注入的时候,如果Spring配置定义了aop声明式事务,类似如下方式 <aop:config>  <aop:pointcut id="serviceMethods2"   expression="execution(public * net.villion.framework..*(..))" />  <a

SQL2008、SQL2013 执行Transact-SQL 语句或者批处理时发生了异常。错误5120

附加数据库的时候遇到问题,问题描述如下: 附加数据库 对于 服务器"服务器名"失败.(Microsoft.SqlServer.Smo) 执行Transact-SQL 语句或者批处理时发生了异常.错误5120 原因权限不够.以管理员身份运行dbms.或者找到数据文件,右键--属性---安全--给用户组添加点权限.

创建数据库失败((Microsoft.SqlServer.Smo)) 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo

机房收费系统完成了,但是我是在笔记本上敲得,没有实现异地发布,结局只能是被PASS掉了~回来重新导出自己的数据库到台式机上,由于我笔记本装的SQL和台式机版本是不一样的,所以遇到一些问题,具体解决方法请参考博客:http://blog.csdn.net/mascf/article/details/38644759 导出脚本成功但是新建数据库又出现问题,新建过程中出现如下问题: (但是忘记截图,关键词如下) 创建数据库失败((Microsoft.SqlServer.Smo)) 执行 Transac

创建数据库失败((Microsoft.SqlServer.Smo))执行Transact-SQL语句或批处理时发生了异常。

房收费系统完成了,但是我是在笔记本上敲得,没有实现异地发布,结局只能是被PASS掉了~回来重新导出自己的数据库到台式机上,由于我笔记本装的SQL和台式机版本是不一样的,所以遇到一些问题,具体解决方法请参考博客:http://blog.csdn.net/mascf/article/details/38644759 导出脚本成功但是新建数据库又出现问题,新建过程中出现如下问题: (但是忘记截图,关键词如下) 创建数据库失败((Microsoft.SqlServer.Smo)) 执行 Transact

idea之jrebel热部署使用教程

JRebel是一个J2EE热部署的工具.使用它可以减少浪费8-18%的开发时间在项目的构建和部署上.虽然Java也提供了HotSpot的JVM,但是如果你修改的类中有方法名称变动的话,HotSpot就无能为力了,必须要重要启动应用服务器.JRebel则可以动态监视class文件及配置文件,如果有文件更新,被调用时就会被JRebel重新加载,达到热部署的目的. JRebel不仅可以在开发阶段实现热部署来提高开发效率,在项目部署投入使用以后也支持动态的加载,从而可以帮助程序完成一些特殊的功能,让程序

idea集成Jrebel热部署Jrebel 永久免费激活

安装好idea和Jrebel后,按图示方法打开激活页面 选择License server方式 Url:输入 http://139.199.89.239:1008/88414687-3b91-4286-89ba-2dc813b107ce 如果出现激活过期的情况,请重新生成guid,替换原来的guid email:随便输入 完成激活后,在图示位置可查询Jrebel是否激活 总结一下: 注意下图中的路径不要有中文.否则JRebel启动不起来; 还有就是当我想办法去更改系统用户文件夹的时候.导致整个用户

JRebel 热部署

去IDEA的插件官网下载插件http://plugins.jetbrains.com/plugin/4441?pr=idea,在搜索框里面搜索Jrebel,,有如下结果 下载6.4.0版本,下载以后在idea上面安装插件 1.安装JRebel插件,打开Settings->Plugins,点击"Install plugin from disk",找到刚才下载下来的zip包(不需要解压),直接选中安装 2. 选择 jrebel 插件 3.安装完,重启 IDEA. 发现 Setting

Intellij IDEA+Tomcat+JRebel热部署

一.安装JRebel插件 1. 在线安装 打开设置 File ->setting或者直接点设置的图标进入 在线下载并安装 2. 破解插件 下载破解补丁具体要找到对应版本的,这边用的是6.2的破解版本(但实际安装的是6.2.2,照样可以使用)将破解版里面的jrebel.lic拷贝到C:\当前用户下\.jrebel 目录下:jrebel.jar替换C:\当前用户\.IntelliJIdea13\config\plugins\jr-ide-idea\lib目录下的jrebel.jar文件 打开idea