Jrebel - 错误org.zeroturnaround.bundled.javassist.CannotCompileException:[source error]没有这样的类:classCache

时间:2015-06-25 09:48:50

标签: java spring maven-jetty-plugin jrebel

在jetty服务器上启动使用Jrebel配置的Spring Mvc项目时,我收到ERROR org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] no such class: classCache消息的堆栈跟踪异常。即使服务器启动并且jrebel工作正常,我的服务器启动时显示此错误消息也很烦人。

[artifact:mvn] 2015-06-25 16:17:21 JRebel: ERROR org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] no such class: classCache
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:79)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:45)
[artifact:mvn]  at org.zeroturnaround.javarebel.integration.spring.beans.cbp.CachedIntrospectionResultsCBP.process(CachedIntrospectionResultsCBP.java:35)
[artifact:mvn]  at org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor.process(JRebel:70)
[artifact:mvn]  at com.zeroturnaround.javarebel.xU.a(JRebel:257)
[artifact:mvn]  at com.zeroturnaround.javarebel.xU.a(JRebel:246)
[artifact:mvn]  at com.zeroturnaround.javarebel.xU.a(JRebel:230)
[artifact:mvn]  at com.zeroturnaround.javarebel.SDKIntegrationImpl.runBytecodeProcessors(JRebel:120)
[artifact:mvn]  at com.zeroturnaround.javarebel.xE.transform(JRebel:50)
[artifact:mvn]  at java.lang.ClassLoader.defineClass(ClassLoader.java)
[artifact:mvn]  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
[artifact:mvn]  at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
[artifact:mvn]  at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
[artifact:mvn]  at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
[artifact:mvn]  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[artifact:mvn]  at java.security.AccessController.doPrivileged(Native Method)
[artifact:mvn]  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[artifact:mvn]  at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:421)
[artifact:mvn]  at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)
[artifact:mvn]  at org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:307)
[artifact:mvn]  at org.springframework.beans.BeanWrapperImpl.getPropertyDescriptorInternal(BeanWrapperImpl.java:339)
[artifact:mvn]  at org.springframework.beans.BeanWrapperImpl.isWritableProperty(BeanWrapperImpl.java:419)
[artifact:mvn]  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1473)
[artifact:mvn]  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1216)
[artifact:mvn]  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538)
[artifact:mvn]  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
[artifact:mvn]  at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
[artifact:mvn]  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
[artifact:mvn]  at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
[artifact:mvn]  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
[artifact:mvn]  at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:150)
[artifact:mvn]  at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:606)
[artifact:mvn]  at org.springframework.context.support.AbstractApplicationContext.__refresh(AbstractApplicationContext.java:462)
[artifact:mvn]  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java)
[artifact:mvn]  at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
[artifact:mvn]  at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
[artifact:mvn]  at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
[artifact:mvn]  at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)
[artifact:mvn]  at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)
[artifact:mvn]  at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)
[artifact:mvn]  at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
[artifact:mvn]  at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)
[artifact:mvn]  at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
[artifact:mvn]  at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
[artifact:mvn]  at org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:298)
[artifact:mvn]  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[artifact:mvn]  at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229)
[artifact:mvn]  at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:172)
[artifact:mvn]  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[artifact:mvn]  at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229)
[artifact:mvn]  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[artifact:mvn]  at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
[artifact:mvn]  at org.eclipse.jetty.server.Server.doStart(Server.java:282)
[artifact:mvn]  at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:65)
[artifact:mvn]  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
[artifact:mvn]  at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:520)
[artifact:mvn]  at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:365)
[artifact:mvn]  at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:523)
[artifact:mvn]  at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
[artifact:mvn]  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
[artifact:mvn]  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
[artifact:mvn]  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
[artifact:mvn]  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
[artifact:mvn]  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
[artifact:mvn]  at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
[artifact:mvn]  at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
[artifact:mvn]  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
[artifact:mvn]  at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
[artifact:mvn]  at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
[artifact:mvn]  at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
[artifact:mvn]  at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
[artifact:mvn]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[artifact:mvn]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[artifact:mvn]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[artifact:mvn]  at java.lang.reflect.Method.invoke(Method.java:601)
[artifact:mvn]  at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
[artifact:mvn]  at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
[artifact:mvn]  at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
[artifact:mvn]  at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
[artifact:mvn]  at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
[artifact:mvn] Caused by: compile error: no such class: classCache
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.searchImports(JRebel:468)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.lookupClass(JRebel:412)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.lookupClassByJvmName(JRebel:319)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atCallExpr(JRebel:678)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.JvstTypeChecker.atCallExpr(JRebel:157)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.ast.CallExpr.accept(JRebel:46)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.CodeGen.doTypeCheck(JRebel:242)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:330)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(JRebel:50)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:351)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(JRebel:50)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atMethodBody(JRebel:292)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atMethodDecl(JRebel:274)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.ast.MethodDecl.accept(JRebel:44)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.Javac.compileMethod(JRebel:169)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.compiler.Javac.compile(JRebel:95)
[artifact:mvn]  at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:74)
[artifact:mvn]  ... 79 more
[artifact:mvn] 2015-06-25 16:17:21 JRebel: Class 'org.springframework.beans.CachedIntrospectionResults' could not be processed by org.zeroturnaround.javarebel.integration.spring.beans.cbp.CachedIntrospectionResultsCBP@org.eclipse.jetty.webapp.WebAppClassLoader@7e88d90f

可能是什么问题以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

更新到最新版本修复了问题,似乎5.5版本的jrebel存在问题,现在我正在使用最新的6.2.1版本构建,错误消失了。

解决方案是Download最新的Jrebel独立版本,并在项目中配置jrebel.jar并尝试。