今天在项目中使用java8 新特性lamda表达式时,报了一个以前自己从来没看到过的异常:
java.io.IOException: invalid constant type: 18
![异常信息](https://img-blog.csdn.net/20170124182644802?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzcyMDEzMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
刚开始也是一头雾水,后来在StackOverflow上面找到了答案,这是因为使用了一个与Java 8不兼容的class parser所导致了,和同事在项目里面翻翻找找,发现现在javassist是属于jboss的一个项目,然后我们在项目中使用了hibernate,会自动引入javassist3.15的包,但是javassist需要3.18.1及以上版本才支持java8,所以才会报错,将javassist替换到3.18.1版本,问题解决。