admin管理员组文章数量:1794759
Tomcat报错之Invalid byte tag in constant pool 19
版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢! 本文网址:blog.csdn/sun8112133/article/details/106765398
今天在做 SSH 整合的时候,在启动 Tomcat 时报错,经过查阅相关资料,终于把它解决了,顺便来个总结吧。。。。
报错提示: org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19 大概意思是:常量池中的无效字节标记:19
问题信收集:单纯看报错意思无法得知为什么会报这样的错误以及如何去解决这个问题。我查阅了相关资料,并请教各路大神最终将问题定位到了 Lombok 身上。
我在 SSH 整合的时候,为了方便开发,使用了 Lombok 这个小工具(大家可以参考:Lombok初体验),恰恰 这个错误就是由于 Lombok 导致的。我这里使用的是 lombok-1.18.8.jar 这个版本,而所用的服务器是 Tomcat 7.0,但我忽略了这两个版本的兼容问题。
网上好像有人给 Lombok 提了 bug, 意思是 Tomcat 8.0 环境启动读取 module-info.class 报错,然后一个作者回复:“我们加了 Java9 的 module-info 是有原因的, 应该换 Tomcat 版本或者给 Tomcat 提 bug 兼容这个”,大概意思是这样。后面的发生的情节我也不得而知了,反正最终导致这两个版本不兼容。
解决方案:我这里提供两种解决方案,大家如果有更好的解决方案请在留言处告知我,谢谢!
版权声明:本文标题:Tomcat报错之Invalid byte tag in constant pool 19 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686523757a77491.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论