org.zeroturnaround.bundled.javassist.CannotCompileException

问题描述

当启动一个项目时,后台报错,好像是以为热编译的问题,但是我启动别的项目都可以正常启动,请大神指教一下Test:Class'org.apache.log4j.helpers.OptionConverter'couldnotbeprocessed:org.zeroturnaround.bundled.javassist.CannotCompileException:[sourceerror]registerConfigurationFile(java.io.InputStream)notfoundinorg.zeroturnaround.javarebel.integration.log4j.Log4jReloaderatorg.zeroturnaround.bundled.javassist.CtBehavior.insertAfter(JRebel:819)atorg.zeroturnaround.bundled.javassist.CtBehavior.insertAfter(JRebel:743)atorg.zeroturnaround.javarebel.integration.log4j.cbp.OptionConverterCBP.process(OptionConverterCBP.java:34)atorg.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor.process(JRebel:57)atcom.zeroturnaround.javarebel.SDKIntegrationImpl.runProcessor(JRebel:478)atcom.zeroturnaround.javarebel.SDKIntegrationImpl.runProcessors(JRebel:467)atcom.zeroturnaround.javarebel.SDKIntegrationImpl.runBytecodeProcessors(JRebel:422)atcom.zeroturnaround.javarebel.java4.RuntimeInstall.transform(JRebel:35)atjava.lang.ClassLoader.defineClass(ClassLoader.java)atjava.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)atorg.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)atorg.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)atjava.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)atorg.apache.log4j.LogManager.<clinit>(LogManager.java:86)atorg.apache.log4j.Logger.getLogger(Logger.java:104)atorg.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:262)atorg.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:108)atsun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)atjava.lang.reflect.Constructor.newInstance(Constructor.java:513)atorg.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1025)atorg.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:844)atorg.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:541)atorg.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:292)atorg.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:269)atorg.apache.commons.logging.LogFactory.getLog(LogFactory.java:657)atcom.opensymphony.xwork2.util.logging.commons.CommonsLoggerFactory.getLoggerImpl(CommonsLoggerFactory.java:29)atcom.opensymphony.xwork2.util.logging.LoggerFactory.getLogger(LoggerFactory.java:45)atorg.apache.struts2.dispatcher.Dispatcher.<clinit>(Dispatcher.java:103)atorg.apache.struts2.dispatcher.ng.InitOperations.createDispatcher(InitOperations.java:110)atorg.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:73)atorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)atorg.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)atorg.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)atorg.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)atorg.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)atorg.apache.catalina.core.StandardContext.start(StandardContext.java:4363)atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)atorg.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)atorg.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)atorg.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)atorg.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)atorg.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)atorg.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)atorg.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)atorg.apache.catalina.core.StandardHost.start(StandardHost.java:719)atorg.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)atorg.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)atorg.apache.catalina.core.StandardService.start(StandardService.java:516)atorg.apache.catalina.core.StandardServer.start(StandardServer.java:710)atorg.apache.catalina.startup.Catalina.start(Catalina.java:578)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)atorg.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)Causedby:compileerror:registerConfigurationFile(java.io.InputStream)notfoundinorg.zeroturnaround.javarebel.integration.log4j.Log4jReloaderatorg.zeroturnaround.bundled.javassist.compiler.TypeChecker.atMethodCallCore(JRebel:716)atorg.zeroturnaround.bundled.javassist.compiler.TypeChecker.atCallExpr(JRebel:681)atorg.zeroturnaround.bundled.javassist.compiler.JvstTypeChecker.atCallExpr(JRebel:156)atorg.zeroturnaround.bundled.javassist.compiler.ast.CallExpr.accept(JRebel:45)atorg.zeroturnaround.bundled.javassist.compiler.CodeGen.doTypeCheck(JRebel:241)atorg.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(JRebel:329)atorg.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(JRebel:49)atorg.zeroturnaround.bundled.javassist.compiler.Javac.compileStmnt(JRebel:568)atorg.zeroturnaround.bundled.javassist.CtBehavior.insertAfterAdvice(JRebel:833)atorg.zeroturnaround.bundled.javassist.CtBehavior.insertAfter(JRebel:785)...61more

解决方案

解决方案二:
我也遇到这个问题了,你解决了没啊
解决方案三:
求指导,我也遇到了。但是影响项目运行
解决方案四:
但是不影响项目运行
解决方案五:
这种问题是版本问题,你换个版本就对了
解决方案六:
什么的版本JRebel和log4j?

时间: 2024-09-15 14:21:58

org.zeroturnaround.bundled.javassist.CannotCompileException的相关文章

classpool-使用ClassPool生成代理类 报错javassist.CannotCompileException

问题描述 使用ClassPool生成代理类 报错javassist.CannotCompileException javassist.CannotCompileException: [source error] TryTest(com.asp.eb.TestPacket) not found in java.lang.Object 代码是这样的: ClassPool pool = ClassPool.getDefault(); pool.insertClassPath(new ClassClas

Java内存溢出(OOM)异常完全指南

我的职业生涯中见过数以千计的内存溢出异常均与下文中的8种情况相关.本文分析什么情况会导致这些异常出现,提供示例代码的同时为您提供解决指南. 这也许是目前最为完整的Java OOM异常的解决指南. 1.java.lang.OutOfMemoryError:Java heap space Java应用程序在启动时会指定所需要的内存大小,它被分割成两个不同的区域:Heap space(堆空间)和Permgen(永久代): JVM内存模型示意图 这两个区域的大小可以在JVM(Java虚拟机)启动时通过参

【Java】java使用反射访问对象方法和成员变量

虽然java是一门静态语言,但是java的反射机制却给java提供了很强大的动态特性,其特点是能让java支持在运行时才能得知名称与内部结构的类,并能访问其所有的方法和成员变量,包括私有方法和私有成员变量.下面我写了一个比较简洁的测试代码,供参考和使用. 测试类 //OBClass.java package com.obo.javaassistdemo; public class OBClass { public int publicField= 999; private int private

java.lang.Instrument 代理Agent使用详细介绍_java

java.lang.Instrument 代理Agent使用 java.lang.Instrument包是在JDK5引入的,程序员通过修改方法的字节码实现动态修改类代码.这通常是在类的main方法调用之前进行预处理的操作,通过java指定该类的代理类来实现.在类的字节码载入JVM前会调用ClassFileTransformer的transform方法,从而实现修改原类方法的功能,实现AOP,这个的好处是不会像动态代理或者CGLIB技术实现AOP那样会产生一个新类,也不需要原类要有接口. (1)

kafka-Java-SpringBoot-listener API开发

listener开发过程是独立的,你也可以不开发,使用@KafkaListener注解来监听kafka的消息,我的方式是实现一个唯一方法的接口,然后在该方法里面进行消费,无需关心kafka的具体实现,只需要添加一个topics到配置值文件即可.项目git地址: git@github.com:wudonghua/Java-Kafka-SpringBoot-API.git 接口: import org.apache.kafka.clients.consumer.ConsumerRecord; /**

Java编程的动态性,第6部分: 利用Javassist进行面向方面的更改

Java 顾问 Dennis Sosnoski 在他的关于 Javassist 框架的三期文章中将精华部分留在 了最后.这次他展现了 Javassist 对搜索-替换的支持是如何使对 Java 字节码的编辑变得 像文本编辑器的"替换所有(Replace All )"命令一样容易的.想报告所有写入特定字段 的内容或者对方法调用中参数的更改中的补丁吗?Javassist 使这变得很容易,Dennis 向您 展示了其做法. 本系列的 第 4 部分和 第 5 部分讨论了如何用 Javassis

Java编程的动态性, 第4部分: 用Javassist进行类转换

厌倦了只能按编写好源代码的方式执行的 Java 类了吗?那么打起精神吧,因为您就要发 现如何将编译器编译好的类进行改造的方法了!在本文中,Java 顾问 Dennis Sosnoski 通 过介绍字节码操作库 Javassist 将他的 Java 编程的动态性系列带入高潮,Javassist 是广 泛使用的 JBoss 应用服务器中加入的面向方面的编程功能的基础.您会看到到用 Javassist 转换现有类的基本内容,并且了解到这种用框架源代码处理类的方法的威力和局限性. 讲过了 Java 类格

重载-关于javassist重复加载的问题

问题描述 关于javassist重复加载的问题 最近需要使用javassist动态改变类里的方法,问题是javassist使用过一次以后,第二次使用就会冻结,可是在第二次就算用了解冻,调用toclass以后还是会报异常,主要是为了得到frmAttributesI的实体,怎样已经冻结的class解冻之后还可以继续编辑修改并调用呢?String body = null;CtClass cc = null;IFrmAttributes frmAttributesI = null;//从数据查找判断是否

动态代理解释-JDK,CGLIB,JAVASSIST,ASM

动态代理是指在运行时,动态生成代理类.代理类的字节码将在运行时生成并载入当前的ClassLoader.          生成动态代理类的方法很多,如JDK自带的动态代理.CGLIB.Javassist或者ASM库.           JDK动态代理使用简单,它内置在JDK中,因此不需要引入第三方Jar包,但相对功能比较弱.CGLIB和Javassist都是高级的字节码生成库,总体性能比JDK自带的动态代理好,而且功能十分强大.ASM是低级的字节码生成工具,使用ASM已经近乎在于使用Javab