Dubbo tomcat啓動報錯

Dubbo tomcat啓動報錯

Tomcat中duboo啓動時候報錯

Caused by: java.lang.RuntimeException: java.io.IOException: invalid constant type: 18
    at javassist.CtClassType.getClassFile2(CtClassType.java:204) ~[javassist-3.15.0-GA.jar:na]
    at javassist.CtClassType.subtypeOf(CtClassType.java:304) ~[javassist-3.15.0-GA.jar:na]
    at javassist.CtClassType.subtypeOf(CtClassType.java:319) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.MemberResolver.compareSignature(MemberResolver.java:248) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:120) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:145) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:97) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:711) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.TypeChecker.atNewExpr(TypeChecker.java:149) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.ast.NewExpr.accept(NewExpr.java:73) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.compileExpr(CodeGen.java:229) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atThrowStmnt(CodeGen.java:628) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:365) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:391) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:355) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:391) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:355) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.MemberCodeGen.atTryStmnt(MemberCodeGen.java:234) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:367) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:292) ~[javassist-3.15.0-GA.jar:na]
    at javassist.compiler.Javac.compileBody(Javac.java:223) ~[javassist-3.15.0-GA.jar:na]
    at javassist.CtBehavior.setBody(CtBehavior.java:402) ~[javassist-3.15.0-GA.jar:na]
    at javassist.CtBehavior.setBody(CtBehavior.java:376) ~[javassist-3.15.0-GA.jar:na]
    at javassist.CtNewMethod.make(CtNewMethod.java:138) ~[javassist-3.15.0-GA.jar:na]
    at com.jd.org.msgpack.template.builder.BuildContext.buildReadMethod(BuildContext.java:152) ~[jsf-1.6.0.jar:1.6.0]
    at com.jd.org.msgpack.template.builder.BuildContext.build(BuildContext.java:72) ~[jsf-1.6.0.jar:1.6.0]
    ... 36 common frames omitted
Caused by: java.io.IOException: invalid constant type: 18
    at javassist.bytecode.ConstPool.readOne(ConstPool.java:1113) ~[javassist-3.15.0-GA.jar:na]
    at javassist.bytecode.ConstPool.read(ConstPool.java:1056) ~[javassist-3.15.0-GA.jar:na]
    at javassist.bytecode.ConstPool.<init>(ConstPool.java:150) ~[javassist-3.15.0-GA.jar:na]
    at javassist.bytecode.ClassFile.read(ClassFile.java:765) ~[javassist-3.15.0-GA.jar:na]
    at javassist.bytecode.ClassFile.<init>(ClassFile.java:109) ~[javassist-3.15.0-GA.jar:na]
    at javassist.CtClassType.getClassFile2(CtClassType.java:191) ~[javassist-3.15.0-GA.jar:na]
    ... 74 common frames omitted
  1. 根據異常日誌中dubbo調用javassist編譯字節碼出錯,定位javassist版本問題
  2. 由於同樣的dubbo項目在jdk6下沒有問題,當前項目使用的jdk8,所以應該是jdk8和javassist衝突;
  3. 將dubbo引入的javassist-3.15.0-GA去掉,引入更高版本直到javassist-3.18.0-GA項目可以正常啓動。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章