springboot java.lang.ClassNotFoundException: dm.jdbc.driver.DmDriver 应该如何解决

遇到的问题:项目中引用了外部的达梦jar包 在idea中正常使用 也能找到dm.jdbc.driver.DmDriver 驱动 但是当通过jenkins 构建部署到服务器上 总是报 ClassNotFoundException: dm.jdbc.driver.DmDriver 找不到驱动

应用到的驱动代码如下格式
在这里插入图片描述
排查步骤
1.首先看你的项目中 达梦的依赖包是否 放在 项目中的 resources 目录下的 新建的 lib 目录下面 如下图在这里插入图片描述
2.查看你项目中的pom文件 达梦依赖的路径是否正确

<dependency>
<groupId>com.dm</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/DmJdbcDriver18.jar</systemPath>
</dependency>

<scope><systemPath>是必须要有的 指定你 DmJdbcDriver18.jar 包所在项目中的位置

3.查看你pom文件中 maven 打包方式 是否会把 SystemScope 配置的外部包打进你的jar包中

查看如下你的项目中是否也是这样配置 maven 进行打包的
在这里插入图片描述
问题就出在这里 这样的maven 打包配置 不会把 SystemScope 配置的外部包打进你的jar包中 所以 程序就找不到 /src/main/resources/lib/DmJdbcDriver18.jar

经过调整 增加以下配置 再次 进行 jenkins 打包 问题解决了
在这里插入图片描述
需要增加 下面这个配置

<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>

<includeSystemScope>true</includeSystemScope> 的作用是

告诉 Maven 在打包过程中包含系统范围的依赖项。这意味着,当使用 spring-boot-maven-plugin 插件进行重新打包时,Maven 会将系统范围内的依赖项(通常是那些不在 Maven 仓库中的本地库)一起打包到最终的可执行 JAR 文件中。

至此!经过测试 dm.jdbc.driver.DmDriver 驱动找到了 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROS2仿真工具-gazebo

gazebo独立于ROS2&#xff0c;就像插件一样&#xff0c;需要安装。 1.安装 sudo apt install gazebo sudo apt install ros-humble-gazebo-* 2.运行测试demo gazebo /opt/ros/humble/share/gazebo_plugins/worlds/gazebo_ros_diff_drive_demo.world 查看所有话题 ros2 top…

0052__windows下实现socketpair函数

windows下实现socketpair函数_socketpair windows 实现-CSDN博客 socketpair函数介绍及使用-CSDN博客

使用css做一个旋转的八卦图

使用css做一个旋转的八卦图 1, html部分 <div class"tai"><div class"bai"></div><div class"hei"></div> </div>2, css部分 .tai{width: 200px;height: 200px;border: 1px solid #000;background: linea…

工业路由器的应用

上文讲了工业路由器与家用路由器的区别, 家用路由器的使用场景想必大家都不陌生&#xff0c;那么工业路由器可以具体应用在哪些领域呢&#xff1f; 工业路由器凭借其多接口、多协议、宽温宽压等工业设计特性&#xff0c;可以广泛应用于各类工业化场景&#xff0c;为各类工业传…

STM32中的I2S(Inter-IC Sound)接口和SA接口(Serial Audio Interface)的区别

STM32中的I2S&#xff08;Inter-IC Sound&#xff09;接口和SA接口&#xff08;这里的SA可能指的是SAI&#xff0c;Serial Audio Interface&#xff09;虽然都用于音频数据传输&#xff0c;但它们在设计目标、功能特性和应用场景上存在一些区别&#xff1a; I2S (Inter-IC Sou…

STM32-I2C硬件外设

本博文建议与我上一篇I2C 通信协议​​​​​​共同理解 合成一套关于I2C软硬件体系 STM32内部集成了硬件I2C收发电路&#xff0c;可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能&#xff0c;减轻CPU的负担 特点&#xff1a; 多主机功能&#x…

Shiro框架

入门概述 1 shiro是什么? Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。Shiro 可以完成&#xff1a;认证、授权、加密、会话管理、与 Web 集成、缓存 等。借助 Shiro 您可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程…

计算机网络网络层复习题1

一. 单选题&#xff08;共27题&#xff09; 1. (单选题)以太网 MAC 地址、IPv4 地址、IPv6 地址的地址空间大小分别是&#xff08; &#xff09;。 A. 2^48&#xff0c;2^32&#xff0c;2^128B. 2^32&#xff0c;2^32&#xff0c;2^96C. 2^16&#xff0c;2^56&#xff0c;2^6…

选对箱式压风自救装置提升煤矿生产效率

选对箱式压风自救装置提升煤矿生产效率&#xff0c;安全是煤矿稳定生产的基石&#xff0c;只有始终保持对安全的敬畏之心&#xff0c;才能确保矿区可持续发展和经济效益的稳步提升。 150简介 ZYJ-A型矿井压风自救装置是煤矿煤尘、瓦斯和二氧化碳突出矿井的实际情况&#xff0c…

浅谈k8s中cni0和docker0的关系和区别

最近在复习k8s网络方面的知识&#xff0c;查看之前学习时整理的笔记和文档还有过往自己总结的博客之后发现一个问题&#xff0c;就是在有关flannel和calico这两个k8s网络插件的文章和博客中&#xff0c;会涉及到cni0和docker0这两个网桥设备&#xff0c;但是都没有明确说明他们…

C# WPF自制批注工具(方便标记重点和演示)

在教学和演示中&#xff0c;我们通常需要对重点进行批注&#xff0c;下载安装第三方工具批注显得很麻烦。本篇使用WPF开发了一个批注工具&#xff0c;工具小巧&#xff0c;功能丰富&#xff0c;非常使用日常免费使用&#xff0c;或者进行再次开发。 自制批注工具具有以下功能特…

AUTOSAR NvM模块(五)

NvMRbCallbackSignatureAR45 改变回调函数的参数类型。 TRUE&#xff1a;根据AR44及之后版本&#xff0c;回调函数使用NvM_<Multi;Init>BlockRequestType参数类型。详细的函数调用参数请参考回调参数。 FALSE&#xff1a;根据AR43及之前版本&#xff0c;回调函数使用S…

GPT-5 一年半后发布,对此你有何期待?

CHATGPT5&#xff1a;未来一年内的期待与挑战 随着人工智能技术的飞速发展&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域的突破不断涌现。在这一背景下&#xff0c;CHATGPT系列模型作为NLP领域的佼佼者&#xff0c;其每一次的更新都牵动着业界的目光。当得知CHATG…

Spring Boot中泛型参数的灵活运用:最佳实践与性能优化

泛型是Java中一种强大的特性&#xff0c;它提供了编写通用代码的能力&#xff0c;使得代码更加灵活和可复用。在Spring Boot应用程序中&#xff0c;泛型参数的灵活运用可以带来诸多好处&#xff0c;包括增强代码的可读性、提高系统的健壮性以及优化系统的性能。本文将深入探讨在…

Flask 数据创建时出错

当我们在使用 Flask 创建数据时遇到错误&#xff0c;可能有多种原因&#xff0c;包括代码错误、数据库配置问题或依赖项错误。具体情况我会总结成一篇文章记录下&#xff0c;主要是归类总结一些常见的解决方法和调试步骤&#xff0c;帮助大家解决问题&#xff1a; 1、问题背景 …

2024.7.2 随笔 控制内心的焦虑

文章目录 前言2024.7.2 随笔 控制内心的焦虑人生的新阶段冒名顶替综合征年龄焦虑、职业焦虑未来的计划 前言 我已经记不清楚&#xff0c;好久没有这样写长篇的博文&#xff0c;或者说是&#xff0c;感悟吧。起因是刷到了一个博主的视频&#xff0c;真的治愈了我的内心&#xf…

OFDM技术概述8——FBMC

Filter bank multicarrier(FBMC&#xff0c;滤波器组多载波)&#xff0c;是一种类似于OFDM的调制方式&#xff0c;用滤波器抑制子载波的旁瓣大小&#xff0c;使用FFT/IFFT或多相滤波器实现&#xff0c;其应用于5G的主要优势&#xff1a; 子载波信号带限&#xff0c;带外泄漏小…

Perl 简介

Perl 简介 Perl 是一种高级、通用、解释型、动态编程语言。由 Larry Wall 于 1987 年首次发布,设计哲学是“易于修改”和“实用”。Perl 的名字源自“Practical Extraction and Reporting Language”,但也可以解释为“Pathologically Eclectic Rubbish Lister”。Perl 被广泛…

LiveNVR监控流媒体Onvif/RTSP用户手册-视频广场:状态记录、播放、回放入口、筛选在线离线、搜索

LiveNVR监控流媒体Onvif/RTSP用户手册-视频广场:状态记录、播放、回放入口、筛选在线离线、搜索 1、视频广场1.1、搜索筛选1.2、状态记录1.3、播放1.4、视频信息1.5、回放入口 2、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、视频广场 1.1、搜索筛选 可以下拉筛选 在线、离线 &a…

C++部分复习笔记上

C语法复习 1. C入门基础 缺省参数 半缺省参数必须从右往左依次来给出&#xff0c;不能间隔着给缺省参数不能在函数声明和定义中同时出现缺省值必须是常量或者全局变量C语言不支持&#xff08;编译器不支持&#xff09; 函数重载 函数重载是函数的一种特殊情况&#xff0c;…