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

maven打包问题/ClassNotFoundException异常

maven打包问题/ClassNotFoundException异常

  • 报错
  • 排查
  • 解决
  • 原因

报错

在这里插入图片描述
com.xxx.encrypt.Encrypt是本地jar包,本地开发环境没有问题,测试环境运行jar包报上述错误
ClassNotFoundException异常
问题:com.xxx.encrypt.Encrypt类找不到。
原因分析:该类可能未被正确打包到应用程序中,或者类的包路径、类名存在拼写错误。

排查

“该类可能未被正确打包到应用程序中”,测试用Jenkins打包工具报错,本地打包在测试环境启动也报错,说明jar包一直没有打进去。
验证
1.将包用解压工具打开,在目录 BOOT-INF/lib/xx 去找是否有报错信息中缺失的包,我这里验证是没有的

解决

  1. 目录结构,使用若依框架
    ruoyi (根项目,POM类型)
    ├── ruoyi-admin (Web服务入口) pom配置打包信息
    ├── ruoyi-framework (框架核心)
    ├── ruoyi-system (系统模块)
    ├── ruoyi-common (通用工具) 此次问题jar包引入处
    ├── ruoyi-quartz (定时任务)
    └── ruoyi-generator (代码生成器)
  2. maven项目,引入的本地依赖,在pom文件(ruoyi-common下)进行了配置,配置如下
<!-- 加解密工具 -->
<dependency><groupId>xx</groupId><artifactId>xx</artifactId><version>xx</version><scope>system</scope><systemPath>${project.basedir}/lib/xx.jar</systemPath>
</dependency>

需要注意的是<scope>system</scope>标签,表示从本地引入

  1. 检查打包pom配置中的<includeSystemScope>true</includeSystemScope>是否设置为true
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.5.15</version><configuration><fork>true</fork><!--  检查是否为true  --><includeSystemScope>true</includeSystemScope></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.1.0</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml><warName>${project.artifactId}</warName></configuration></plugin></plugins><finalName>${project.artifactId}</finalName>
</build>

上述步骤检查,解决本地包没有打入包的问题

原因

  1. 在 Maven 的 Spring Boot 插件配置中,<includeSystemScope>true</includeSystemScope> 的作用是:
    当项目中存在使用 <scope>system</scope> 声明的系统依赖(通常是本地文件系统中的 JAR 包)时,设置此属性为 true 会让 Spring Boot 打包插件在构建可执行 JAR/WAR 时,将这些系统依赖包含到最终的打包文件中。
  2. 默认情况下,Maven 不会将 system 范围的依赖打包到构建产物中,因为这类依赖通常被认为是由系统环境提供的。而该配置强制将系统依赖包含进来,确保应用在运行时可以正常访问这些本地依赖,避免出现 ClassNotFoundException 等因缺少依赖导致的错误。
http://www.dtcms.com/a/596626.html

相关文章:

  • 告别局域网限制!Windows快速部署Docsify技术文档站点,搭配cpolar内网穿透实现公网随时随地访问
  • Python每日一练---第十二天:验证回文串
  • 【Docker】Dockerfile自定义镜像
  • 1.3 Spring的入门程序
  • 网站内的链接怎么做修改wordpress 表格
  • 企业网站源码是什么网站内链怎么优化
  • FPGA-zynq PS与PL的交互(一)
  • 做电影网站需要施工企业会计核算及常用会计分录
  • CONFIG_TRACEPOINTS和CONFIG_FTRACE的作用
  • LeetCode 热题 100——哈希——字母异位词分组
  • MATLAB 计算两点直线方程(叉乘)
  • 系统分析师-信息安全-通信与网络安全技术系统访问控制技术
  • 25年11月软考架构真题《论无服务器架构(Serverless)》考后复盘总结
  • SMamba: 基于稀疏Mamba的事件相机目标检测
  • 怎么给自己制作一个网站php整站最新版本下载
  • 饰品网站模版哪种网站
  • 耐达讯自动化Profibus光纤模块:智能仪表的“生命线”,极端环境通信无忧!
  • C++入门(算法) - 习题
  • 校验热稳定,裸导体宜采用主保护动作时间加相应断路器开断时间。电气设备宜采用后备保护动作时间加相应断路器开断时间。
  • 【Java SE 基础学习打卡】10 JDK 下载与安装
  • 【SqlServer】日志文件无法收缩的解决方法
  • 拟牛顿法的数学原理:正定性、合理性与割线约束
  • 解决 Chrome 下载 `.crx` 文件被自动删除及“无法安装扩展程序,因为它使用了不受支持的清单版本”问题
  • 网站图片翻页效果如何做网站开发有哪些服务器
  • o2o网站建设如何上海网站建设服
  • 【agent】AI 数字人构建11:FunASR 2:c++工程分析及模型下载
  • 【OpenCV + VS】OpenCV中的图像像素读写
  • 柳州哪家公司做网站好vancl网站
  • xtu oj环--唉
  • Polar CTF Reverse简单 刷题笔记