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

将springboot项目生成可依赖的jar,并引入到项目中

1、将springboot项目生成可依赖的jar包的方法

SpringBoot项目默认打包的是可运行jar包,也可以打包成不可运行的jar包。

能打成可运行的jar包是因为,Spring Boot 项目引入了 spring-boot-maven-plugin 依赖包。
spring-boot-maven-plugin具有repackage 功能,就是在打包的时候,多做一点额外的事情:
(1)首先 mvn package 命令 对项目进行打包,打成一个 jar,这个 jar 就是一个普通的 jar,可以被其他项目依赖,但是不可以被执行。
(2)repackage 命令,对第一步 打包成的 jar 进行再次打包,将之打成一个 可执行 jar ,通过将第一步打成的 jar 重命名为 *.original 文件。
所以在 IDEA 中点击 package进行打包,会生成后缀.jar和.jar.original两个文件。

在想要生成可依赖的jar包时可以删除掉application.java启动文件和端口信息。可以配置信息可以正常放到application.yml中,或者放到引入依赖包的项目的配置文件中。
方法一:
pom.xml引入

	<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

然后将*.jar.original改成*.jar,即可放到依赖的项目中引用。引用第三方jar的方法后面介绍。
方法二:
pom.xml中直接引入

     <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin>

生成的jar就是可依赖的jar包。

2、 springboot项目引入第三方jar包

1)在src同级目录中
在这里插入图片描述
2)
pom.xml中加上

<dependency><groupId>com.rabbitmqTool</groupId><artifactId>rabbitmqTool</artifactId><version>1.0-SNAPSHOT</version><scope>system</scope><systemPath>${basedir}/lib/rabbitmqTool-1.0-SNAPSHOT.jar</systemPath></dependency>

3)在Application.java启动类中加上本项目和依赖包扫描路径。
@SpringBootApplication(scanBasePackages = {“com.iecas”,“com.mq”})
同时在pom.xml中引入在依赖包pom中引入的依赖,比如

 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency>

至此,idea中可以运行引入第三方jar包的程序。

3、如果要将引入第三方jar包的程序打成可执行的jar,则需要修改项目的pom.xml

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope></configuration></plugin></plugins></build>

相关文章:

将springboot项目生成可依赖的jar,并引入到项目中

1、将springboot项目生成可依赖的jar包的方法 SpringBoot项目默认打包的是可运行jar包&#xff0c;也可以打包成不可运行的jar包。 能打成可运行的jar包是因为&#xff0c;Spring Boot 项目引入了 spring-boot-maven-plugin 依赖包。 spring-boot-maven-plugin具有repackage …...

小红书搜索关键词布局指南,这4种词一定要把握好

在小红书搜索关键词布局&#xff0c;是提升搜索推流的重要方法&#xff0c;今天跟你讲清楚小红书搜索关键词布局怎么做&#xff5e;做小红书的都知道&#xff0c;小红书的主要流量来源一个是推荐&#xff0c;另一个就是搜索&#xff0c;关键词决定了你的精准人群&#xff0c;那…...

安全研发人员能力模型窥探

能力 是一个比较抽象的概念&#xff0c;不同的行业、管理者、研发人员对能力的认知都会有差异。另外&#xff0c;作为研发团队的相应的职级定级、绩效考核的基础&#xff0c;一个“大家普遍认可”的能力的模型是非常重要的。这是比职级模型更高层的一个基本模型&#xff0c;所谓…...

【面试总结】Linux篇·操作及原理篇

【面试总结】Linux篇原理篇1.介绍一下inode2.说一下Linux系统的目录结构3.说一下Linux系统的文件类型4.如何在Linux上配置一个IP地址5.Linux负载是什么&#xff1f;6.Linux中的软链接和硬链接有什么区别&#xff1f;1.介绍一下inode 硬盘的最小存储单位是扇区(Sector)&#xf…...

C++中如何实现用异或运算找出数组中只出现一次的数字???

文章目录1、异或运算符的运算1、异或运算符的运算 问题描述&#xff1a; 给出一个指定的数组&#xff0c;只有一个数出现一次&#xff0c;剩下都出现两次&#xff0c;找出出现一次的数字。指定数组为[1,2,2,1,3,4,3]。 样例输出&#xff1a;4 #include<iostream> using…...

红黑树的历史和由来。

一个数组&#xff0c;1,2,3,4,5,...n; 一共n个数字。1、直接查找想要查询第n个数字&#xff0c;直接搜索&#xff0c;就是n次查询。ps:那么问题来了&#xff0c;这样查询也太慢了&#xff0c;有什么改进的呢&#xff1f;2、二分查找这个时候&#xff0c;二分查找更快。不过就是…...

蓝库云|制造业数字化转型为何转不动?资料处理很重要

数字化转型已经成为每个产业势在必行的课题&#xff0c;没有人会怀疑数字化技术与科技能解放的生产力能量&#xff0c;但为什么看似美好的愿景&#xff0c;实行起来却如此缓慢&#xff1f;蓝库云认为这是因为没有盖好「资料治理」的地基。 面对不断变化的法令规范要求&#xf…...

【python学习笔记】 :Lambda 函数

Lambda 函数是 Python 中的匿名函数。有些人将它们简称为lambdas&#xff0c;它们的语法如下&#xff1a; lambda arguments: expressionlambda 关键字可以用来创建一个 lambda 函数&#xff0c;紧跟其后的是参数列表和用冒号分割开的单个表达式。例如&#xff0c;lambda x: 2…...

Nginx的proxy buffer参数设置

1. proxy_buffering 语法&#xff1a;proxy_buffering on|off 默认值&#xff1a;proxy_buffering on 上下文&#xff1a;http,server,location作用&#xff1a;该指令开启从后端被代理服务器的响应body缓冲。 如果proxy_buffering开启,nginx假定被代理的后端服务器会以最…...

SPI简介与实例分析

SPI简介 SPI 协议是由Motorola提出的通讯协议 (Serial Peripheral Interface) &#xff0c;是一种高速全双工的串行通信总线。 SPI 通讯使用 3 条总线 &#xff1a;SCK、 MOSI、 MISO &#xff0c;以及若干片选线(SS、CS、NSS)。 主机要和哪个从机通信&#xff0c;就把对应的…...

通过基于pgsql的timescaleDB的time_bucket函数实现自定义聚合粒度

1、自己写的不完全满足要求的实现方式 with tb_tmp as (select *, //计算该时间距离第一天有多少天((extract(epoch from create_time) /3600/24)::integer) as ct_ifrom test.test_salary )select min(a.create_time) as create_time,sum(a.salary) from (select *,//移动数据…...

一台电脑安装26个操作系统(windows,macos,linux)

首先看看安装了哪些操作系统1-4: windows系统 四个5.Ubuntu6.deepin7.UOS家庭版8.fydeOS9.macOS10.银河麒麟11.红旗OS12.openSUSE Leap13.openAnolis14.openEuler(未安装桌面UI)15.中标麒麟&#xff08;NeoKylin&#xff09;16.centos17.debian Edu18.fedora19.oraclelinux20.R…...

dockerfile文件

dockerfile文件内容 Form ip端口/centos:regular ENV JAVA_HOME /E:/Program Files/Java/jdk1.8.0_351 ENV PATH $JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 WORKDIR /opt COPY target/fast.jar /op…...

视觉SLAM ch11回环检测

回环检测的关键&#xff1a;如何有效的检测出相机经过同一个地方。如果成功的检测到可以为后端的位姿图提供更多有效数据&#xff0c;得到全局一致的估计。 回环检测提供了当前数据和所有历史数据的关联&#xff0c;还可以用回环检测进行重定位。 具体方法&#xff1a; 一&am…...

关于Ubuntu20.04文件系统思考

文章目录问题产生Ubuntu文件系统中普通用户可读写地址Ubuntu文件系统Ubuntu文件系统详解一级目录二级目录查找Ubuntu中软件安装位置Ubuntu修改文件权限问题产生 使用electron框架开发桌面端跨平台软件时&#xff0c;当开发完成的程序部署到Ubuntu上&#xff0c;系统无法产生日…...

内嵌于球的等边三棱柱

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 做一个网络让输入只有3个节点&#xff0c;每个训练集里有两张图片&#xff0c;让B的训练集全为0&#xff0c;排列组合A&#xff0c;观察迭代次数平均值的变化。共完成了64组&#xff0c;但只有12组不同的迭代次数。 差值结构 A-B 迭代次…...

论文解读 | [CVPR2020] ContourNet:向精确的任意形状场景文本检测迈出进一步

目录 1 研究背景和目的 1.1 主要贡献&#xff1a; 1.2 两个挑战&#xff1a; 2 ContourNet 3 方法论 3.1 Adaptive-RPN 3.2 LOTM 3.3 点重定位算法 4 实验和结果 论文地址&#xff1a;ContourNet: Taking a Further Step toward Accurate Arbitrary-shaped Scene Tex…...

干货分享|数据可视化报表制作技巧

脑中想得再好&#xff0c;也要看最终的效果呈现。但偏偏有些用户分析思维不差&#xff0c;就是数据分析报表的制作拖了后腿&#xff0c;导致始终无法完美呈现数据可视化分析效果。本文将总结奥威BI软件上的常用的数据可视化报表制作技巧&#xff0c;供大家随时查阅。 BI数据可…...

Longhorn,企业级云原生容器分布式存储 - 备份与恢复

Longhorn&#xff0c;企业级云原生容器分布式存储 - 备份与恢复快照手动快照周期性快照和备份使用 Longhorn UI 设置周期性快照使用 StorageClass 设置 Recurring Jobs分离卷时允许 Recurring Job容灾卷创建容灾(DR)卷备份设置备份目标使用阿里云OSS备份存储准备工作为 S3 兼容…...

亿级高并发电商项目-- 实战篇 --万达商城项目 十(安装与配置Elasticsearch和kibana、编写搜索功能、向ES同步数据库商品数据)

亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 &#xff08;商家端与用户端功能介绍、项目技术架构、数据库表结构等设计&#xff09; 亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 &#xff08;商家端与用户端功能介绍、项目技术架构、数据库表结构等设计&#x…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...