SpringBoot集成第三方jar的完整指南

原文地址:https://blog.csdn.net/weixin_43826336/article/details/141640152?ops_request_misc=%257B%2522request%255Fid%2522%253A%25227d4118ef2d572ba4428caf83f1d2bb28%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=7d4118ef2d572ba4428caf83f1d2bb28&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-4-141640152-null-null.142v102pc_search_result_base6&utm_term=idea%20%E5%BC%95%E5%85%A5%E5%A4%96%E9%83%A8jar%E5%8C%85&spm=1018.2226.3001.4187

项目因为某些原因, 需要引入 demo 中代码, 但是 demo 使用的是 java 而且没有使用任何框架, 并且还引用第三方 jar,
因此在自己项目 (SpringBoot+Maven) 中集成 demo 时. 整个集成过程中颇为麻烦, 遂将此步骤记录一下, 以防日后需要.

  1. 在项目中创建 jar 存放目录

项目根目录下, 创建 lib 目录, 存放 jar

2. jar 加入项目,idea 中可以正常执行项目。有多种方法可实现

2.1 方法一:add as Library

2.2 方法二:进入 File-> Project Structure-> Libraries -> 点击 + 号 -> 选择 java 选中所选的 jar 包 (多个时一个个添加)

2.2 方法三:进入 File-> Project Structure-> Modules-> 点击 + 号 -> 选择 java 选中所选的 jar 包 (多个时一个个添加)

Maven 中打包第三方 jar 包

虽然可以运行了, 但是在 Maven 打包中遇到了问题,
在 idea 中被添加到了模块中, 但是在打包时就无法引用第三方 jar 包, 如下图所示
说明在 Maven 中, 所引用的第三方 jar 并没有被打进去, 因此需要我们进行二次配置

1. 在 pom 文件中, 添加第三方 jar 的引用
<dependencyManagement><dependencies><dependency><groupId>cn.comtom</groupId><artifactId>cbs-sdk-java8</artifactId><!--依赖范围--><scope>system</scope><version>4.6.2</version><!--依赖所在位置--><systemPath>${project.basedir}/lib/cbs-sdk-java8-4.6.2.-release.jar</systemPath></dependency></dependencies></dependencyManagement>



需要注意的是: groupId,artifactId 无需和 jar 包中完全一致, 只需我们自定义即可. 版本我们根据实际情况添加

将添加的第三方 jar 的 Maven 坐标纳入到打包插件中
<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!--让maven编译的时候能将第三方包编入--><configuration><includeSystemScope>true</includeSystemScope></configuration></plugin>

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

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

相关文章

题目 3293: 蓝桥杯2024年第十五届决赛真题-数位翻转

题目 3293: 蓝桥杯2024年第十五届决赛真题-数位翻转 时间限制: 2s 内存限制: 192MB 提交: 1046 解决: 318 题目描述 小明创造了一个函数 f(x) 用来翻转 x 的二进制的数位&#xff08;无前导 0&#xff09;。比如f(11) 13&#xff0c;因为 11 (1011)2&#xff0c;将其左右翻转…

word为跨页表格新加表头和表名

问题&#xff1a; 当表格过长需要跨页时&#xff08;如下图所示&#xff09;&#xff0c;某些格式要求需要转页接排加续表。 方法一&#xff1a; 1、选中表格&#xff0c;在“表布局”区域点开“自动调整”&#xff0c;选择“固定列宽”&#xff08;防止后续拆分表格后表格变…

Ubuntu上进行VS Code的配置

1. 安装VS code sudo snap install code --classic 2. 安装GCC sudo apt install build-essential 3. 安装VS Code中文包 打开 VS Code 点击左侧活动栏中的扩展图标(或按Ctrl+Shift+X) 在搜索框中输入:Chinese (Simplified) 选择由 Microsoft 提供的 中文(简体)语言包…

vr中风--数据处理模型搭建与训练2

位置http://localhost:8888/notebooks/Untitled1-Copy1.ipynb # -*- coding: utf-8 -*- """ MUSED-I康复评估系统&#xff08;增强版&#xff09; 包含&#xff1a;多通道sEMG数据增强、混合模型架构、标准化处理 """ import numpy as np impor…

【LLM vs Agent】从语言模型到智能体,人工智能迈出的关键一步

目录 一、什么是 LLM&#xff1f;语言的天才&#xff0c;思维的起点 ✅ 特点小结&#xff1a; 二、什么是 Agent&#xff1f;智能的执行者&#xff0c;自主的决策者 ✅ 特点小结&#xff1a; 三、LLM 与 Agent 的关系&#xff1a;是工具&#xff0c;更是大脑 四、案例实战…

安装DockerDocker-Compose

Docker 1、换掉关键文件 vim /etc/yum.repos.d/CentOS-Base.repo ▽ [base] nameCentOS-$releasever - Base - Mirrors Aliyun baseurlhttp://mirrors.aliyun.com/centos/$releasever/os/$basearch/ gpgcheck1 enabled1 gpgkeyhttp://mirrors.aliyun.com/centos/RPM-GPG-KEY-C…

Perl One-liner 数据处理——基础语法篇【匠心】

Perl&#xff08;Practical Extraction and Report Language&#xff09;是一种功能强大且灵活的脚本语言&#xff0c;因其强大的文本处理能力和简洁的语法而广受开发者和系统管理员的喜爱。特别是在命令行环境下&#xff0c;Perl 的 one-liner&#xff08;单行脚本&#xff09…

Go语言defer关键字:延迟执行的精妙设计

深度解析Go语言defer关键字&#xff1a;延迟执行的精妙设计 引言 在Go语言中&#xff0c;defer语句是一种独特而强大的控制流机制&#xff0c;它通过​​延迟执行​​的方式解决资源管理、错误处理和异常恢复等关键问题。理解defer的工作原理是掌握Go并发编程和错误处理的关键…

C#项目07-二维数组的随机创建

实现需求 创建二维数组&#xff0c;数组的列和宽为随机&#xff0c;数组内的数也是随机 知识点 1、Random类 Public Random rd new Random(); int Num_Int rd.Next(1, 100);2、数组上下限。 //定义数组 int[] G_Array new int[1,2,3,4];//一维数组 int[,] G_Array_T …

.NET WinForm图像识别二维码/条形码并读取其中内容

需求:图像识别出一张图片中的二维码或者条形码&#xff0c;并读取其中内容。 一、安装库(特别注意&#xff0c;网上很多都没说清楚) 如果是基于.net framework&#xff0c;则安装ZXing.Net(建议0.14.0版本左右&#xff0c;具体看实际&#xff0c;版本太高&#xff0c;部分接口…

Guava限频器RateLimiter的使用示例

文章目录 1. 背景说明2. API与方法3. 示例代码3.1 基础工具方法3.2 测试任务类3.3 测试和统计方法3.4 测试两种模式的限频器3.5 测试缓冲时间与等待耗时 4. 完整的测试代码5. 简单小结 1. 背景说明 高并发应用场景有3大利器: 缓存、限流、熔断。 也有说4利器的: 缓存、限流、…

(面试)获取View宽高的几种方式

Android 中获取 View 宽高的几种方式&#xff0c;以及它们的适用场景和注意事项&#xff1a; 1. View.getWidth() 和 View.getHeight() 原理: 直接从 View 对象中获取已经计算好的宽度和高度。 优点: 简单直接。 缺点: 在 onCreate()、onStart() 等生命周期方法中&#xff0…

PostgreSQL pgrowlocks 扩展

PostgreSQL pgrowlocks 扩展 pgrowlocks 是 PostgreSQL 的一个系统扩展&#xff0c;用于显示表中行级锁定信息。这个扩展特别适合诊断锁争用问题和性能调优。 一、扩展安装与启用 1. 安装扩展 -- 使用超级用户安装 CREATE EXTENSION pgrowlocks;2. 验证安装 -- 查看扩展是…

JavaSE知识总结 ~个人笔记以及不断思考~持续更新

目录 字符串常量池 如果是创建对象还会吗&#xff1f; Integer也是在字串常量池中复用&#xff1f; 字符串拼接 为什么String是不可变的&#xff1f; String的不可变性是怎么做的&#xff1f; 外部代码不能创建对象&#xff1f; 构造方法不是私有的吗&#xff1f; 怎么…

使用HTTPS进行传输加密

文章目录 说明示例&#xff08;公网上的公开web&#xff09;安装SSL证书Certbot 的 Webroot 模式 和 Standalone 模式的区别**Webroot 模式****Standalone 模式** 技术对比表Node.js 场景下的最佳实践推荐方案&#xff1a;**Webroot 模式**Standalone 模式应急使用&#xff1a;…

驱动开发(2)|鲁班猫rk3568简单GPIO波形操控

上篇文章写了如何下载内核源码、编译源码的详细步骤&#xff0c;以及一个简单的官方demo编译&#xff0c;今天分享一下如何根据板子的引脚写自己控制GPIO进行高低电平反转。 想要控制GPIO之前要学会看自己的引脚分布图&#xff0c;我用的是鲁班猫RK3568&#xff0c;引脚分布图如…

ArcGIS Pro 3.4 二次开发 - 布局

环境:ArcGIS Pro SDK 3.4 + .NET 8 文章目录 布局1 布局工程项1.1 引用布局工程项及其关联的布局1.2 在新视图中打开布局工程项1.3 激活已打开的布局视图1.4 引用活动布局视图1.5 将 pagx 导入工程1.6 移除布局工程项1.7 创建并打开一个新的基本布局1.8 使用修改后的CIM创建新…

OpenCV 图像像素的算术操作

一、知识点 1、operator (1)、MatExpr operator (const Mat & a, const Mat & b); a、a和b的行数、列数、通道数得相同。 b、a和b的每个像素的每个通道值分别相加。 (2)、MatExpr operator (const Mat & a, const Scalar & s); a、若a…

音视频中的复用器

&#x1f3ac; 什么是复用器&#xff08;Muxer&#xff09;&#xff1f; 复用器&#xff08;muxer&#xff09;是负责把音频、视频、字幕等多个媒体流打包&#xff08;封装&#xff09;成一个单一的文件格式的组件。 &#x1f4a1; 举个形象的例子&#xff1a; 假设你有两样东…

数据库安全性

一、计算机安全性概论 &#xff08;一&#xff09;核心概念 数据库安全性&#xff1a;保护数据库免受非法使用导致的数据泄露、更改或破坏&#xff0c;是衡量数据库系统的关键指标之一&#xff0c;与计算机系统安全性相互关联。计算机系统安全性&#xff1a;通过各类安全保护…