2014-06-13 99 views
1

我遇到问题JRebel 5 on Tomcat 8JRebel无法在Tomcat 7和8上工作

当我启动应用程序,我看到一个异常:

2014-06-13 13:25:21 JRebel: Class 'org.apache.catalina.loader.WebappClassLoader' could not be processed by org.zeroturnaround.javar[email protected]null 
2014-06-13 13:25:21 JRebel: ERROR org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] no such field: notFoundResources 
    at org.zeroturnaround.bundled.javassist.expr.MethodCall.replace(JRebel:241) 
    at org.zeroturnaround.javarebel.integration.tomcat.WebappClassLoaderClassBytecodeProcessor$3.edit(JRebel:160) 
    at org.zeroturnaround.bundled.javassist.expr.ExprEditor.loopBody(JRebel:192) 
    at org.zeroturnaround.bundled.javassist.expr.ExprEditor.doit(JRebel:91) 
2014-06-13 13:25:21 JRebel: Directory 'C:\dev\proj\work\DMU2\src\main\webapp\WEB-INF\classes' will be monitored for changes. 
2014-06-13 13:25:21 JRebel: Directory 'C:\dev\proj\work\DMU2\src\main\webapp' will be monitored for changes. 
    at org.zeroturnaround.bundled.javassist.CtBehavior.instrument(JRebel:712) 
    at org.zeroturnaround.javarebel.integration.tomcat.WebappClassLoaderClassBytecodeProcessor.disableResourceCache(JRebel:154) 
    at org.zeroturnaround.javarebel.integration.tomcat.WebappClassLoaderClassBytecodeProcessor.process(JRebel:35) 
    at org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor.process(JRebel:70) 
    at com.zeroturnaround.javarebel.xc.a(JRebel:257) 
    at com.zeroturnaround.javarebel.xc.a(JRebel:246) 
    at com.zeroturnaround.javarebel.xc.a(JRebel:224) 
    at com.zeroturnaround.javarebel.SDKIntegrationImpl.runBytecodeProcessors(JRebel:120) 
    at com.zeroturnaround.javarebel.wM.transform(JRebel:50) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:455) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:367) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4971) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) 
    at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1646) 
    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:483) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:463) 
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:413) 
    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:483) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466) 
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) 
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307) 
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399) 
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:828) 
    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:483) 
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) 
    at sun.rmi.transport.Transport$1.run(Transport.java:178) 
    at sun.rmi.transport.Transport$1.run(Transport.java:175) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.rmi.transport.Transport.serviceCall(Transport.java:174) 
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:557) 
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:812) 
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:671) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: compile error: no such field: notFoundResources 
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.fieldAccess(JRebel:819) 
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atFieldRead(JRebel:777) 
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atMember(JRebel:962) 
    at org.zeroturnaround.bundled.javassist.compiler.JvstTypeChecker.atMember(JRebel:66) 
    at org.zeroturnaround.bundled.javassist.compiler.ast.Member.accept(JRebel:39) 
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.booleanExpr(JRebel:518) 
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atBinExpr(JRebel:337) 
    at org.zeroturnaround.bundled.javassist.compiler.ast.BinExpr.accept(JRebel:41) 
    at org.zeroturnaround.bundled.javassist.compiler.CodeGen.doTypeCheck(JRebel:242) 
    at org.zeroturnaround.bundled.javassist.compiler.CodeGen.compileBooleanExpr(JRebel:236) 
    at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atIfStmnt(JRebel:384) 
    at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:355) 
    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.Javac.compileStmnt(JRebel:569) 
    at org.zeroturnaround.bundled.javassist.expr.MethodCall.replace(JRebel:235) 
    ... 64 more 

13-Jun-2014 13:25:27.993 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\dev\tools\apache-tomcat-8.0.5\webapps\manager 
2014-06-13 13:25:31 JRebel: Class 'org.apache.jasper.servlet.TldScanner' could not be processed by org.zeroturna[email protected][email protected] 
2014-06-13 13:25:31 JRebel: ERROR org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] cannot find constructor org.apache.tomcat.util.descriptor.tld.TldResourcePath(java.net.URL) 
    at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:79) 
    at org.zeroturnaround.bundled.javassist.CtNewMethod.make(JRebel:45) 
    at org.zeroturnaround.javarebel.integration.jasper.tagfile.TldLocationsCacheCBP.genScanDirMethod(TldLocationsCacheCBP.java:286) 
    at org.zeroturnaround.javarebel.integration.jasper.tagfile.TldLocationsCacheCBP.processParseTld(TldLocationsCacheCBP.java:418) 
    at org.zeroturnaround.javarebel.integration.jasper.tagfile.TldLocationsCacheCBP.process(TldLocationsCacheCBP.java:39) 
    at org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor.process(JRebel:70) 
    at com.zeroturnaround.javarebel.xc.a(JRebel:257) 
    at com.zeroturnaround.javarebel.xc.a(JRebel:246) 
    at com.zeroturnaround.javarebel.xc.a(JRebel:230) 
    at com.zeroturnaround.javarebel.SDKIntegrationImpl.runBytecodeProcessors(JRebel:120) 
    at com.zeroturnaround.javarebel.wM.transform(JRebel:50) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:455) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:367) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:93) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5148) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697) 
    at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1646) 
    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:483) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:463) 
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:413) 
    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:483) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466) 
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) 
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307) 
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399) 
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:828) 
    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:483) 
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) 
    at sun.rmi.transport.Transport$1.run(Transport.java:178) 
    at sun.rmi.transport.Transport$1.run(Transport.java:175) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.rmi.transport.Transport.serviceCall(Transport.java:174) 
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:557) 
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:812) 
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:671) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: compile error: cannot find constructor org.apache.tomcat.util.descriptor.tld.TldResourcePath(java.net.URL) 
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atMethodCallCore(JRebel:723) 
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atNewExpr(JRebel:149) 
    at org.zeroturnaround.bundled.javassist.compiler.ast.NewExpr.accept(JRebel:73) 
    at org.zeroturnaround.bundled.javassist.compiler.JvstTypeChecker.atMethodArgs(JRebel:221) 
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atMethodCallCore(JRebel:709) 
    at org.zeroturnaround.bundled.javassist.compiler.TypeChecker.atCallExpr(JRebel:688) 
    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.TypeChecker.atCallExpr(JRebel:660) 
    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.atDeclarator(JRebel:726) 
    at org.zeroturnaround.bundled.javassist.compiler.ast.Declarator.accept(JRebel:100) 
    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.atStmnt(JRebel:351) 
    at org.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(JRebel:50) 
    at org.zeroturnaround.bundled.javassist.compiler.MemberCodeGen.atTryStmnt(JRebel:204) 
    at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:367) 
    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.atIfStmnt(JRebel:391) 
    at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:355) 
    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.atForStmnt(JRebel:480) 
    at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:359) 
    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) 
    ... 63 more 

以前我是使用Tomcat 6,和JRebel的正常工作。但是如果我尝试移动到Tomcat 7或8,我会看到上面的异常。

我该如何解决这个问题?

+0

您使用的Tomcat 7和8的确切版本是什么?请报告给JRebel支持。 –

+1

你解决了这个问题吗?我有类似的问题。 –

+0

我用jrebel使用Jetty服务器,面对这个问题,我可以解决这个问题。但是服务器启动成功 – Lucky

回答

1

此问题现已通过JRebel 6.0.0解决。如果您更新JRebel,它将解决错误。

相关问题