当前位置: 首页 > news >正文

Maven之高版本的 lombok 和 tomcat 7 插件冲突问题

在这里插入图片描述

高版本的 lombok 和 tomcat 7 插件冲突问题

在开发期间,当我们使用 tomcat7-maven-plugin 来作为运行环境运行我们项目使,如果我们项目中使用了 1.16.20 及以上版本的 lombok 包,项目启动时会报错:

for annotations org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

原因在于,从 1.16.20 开始 lombok 包中有了一个叫 module-info.class 的文件,而低版本的 tomcat 不能识别这个文件,从而导致运行时出错。

其实这个问题对于我们而言不是问题,因为项目部署时,肯定不会部署到 tomcat 7 上,至少是 tomcat 8.5 。

对于这个问题,解决办法有 3 个:

  • 办法 1:使用 tomcat8-maven-plugin ,代替 tomcat7 ;

  • 办法 2:使用低版本的 lombok,例如,1.14.x 的最高版本 1.14.8

  • 办法 3:将 lombok 的 <scope> 设置为 provided,这样,maven 在打包时就不会将 lombok 包含在 jar/war 包内。我们对 lombok 的使用也就是在编译时使用,运行时不需要它。

http://www.lryc.cn/news/144758.html

相关文章:

  • 微信小程序申请
  • ffmpeg 配合Fiddler抓包操作
  • 美团面试拷打:ConcurrentHashMap 为何不能插入 null?HashMap 为何可以?
  • 【力扣每日一题】2023.8.29 带因子的二叉树
  • origin导出pdf曲线超出边框
  • 由Android10适配到Android12时遇到相关编译失败问题
  • 高职教育应对ChatGPT应用的策略
  • Linux 内核编译参数
  • vscode使用anaconda自带的python环境在终端运行时报错
  • 葡萄叶病害识别(图像连续识别和视频识别,Python代码,pyTorch框架)
  • Oracle drop删除表如何恢复
  • 5、监测数据采集物联网应用开发步骤(5.1)
  • ZZULIOJ 1148: 组合三位数之一,Java
  • ROS功能包目录下CMakeLists.txt
  • Python爬虫追踪新闻事件发展进程及舆论反映
  • block层:7. 请求下发
  • Matlab图像处理-平移运算
  • 美创科技一体化智能化公共数据平台数据安全建设实践
  • 关于单例模式
  • pytest笔记: pytest单元测试框架
  • vulnhub Seattle-0.0.3
  • MYSQL 添加行号将行号写入到主键的列
  • 前端命令npm 、 cnpm、 pnpm、yarn 、 npx、nvm的区别
  • Linux 发行版 Debian 宣布支持龙芯 LoongArch 架构
  • PConv : Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks
  • Python中怎么解决内存管理的问题? - 易智编译EaseEditing
  • 【JavaEE】Spring事务-事务的基本介绍-事务的实现-@Transactional基本介绍和使用
  • CentOs下面安装jenkins记录
  • 海康威视相机-LINUX SDK 开发
  • AI助力智能安检,基于图像目标检测实现危险品X光智能安全检测系统