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

springboot项目做成公共项目

一:引言

最近碰到个需求,就是把我项目做成一个公共的提供jar包给别人使用,我也是捣鼓了一段时间去研究这个问题,这个东西其实就是A 项目提供jar包给B项目,B项目只要引入A项目的jar包就可以使用A项目的功能。

问题一:那么A项目如何提供jar包给B项目呢?
问题二:B项目又如何引用的呢?

二:A项目提供jar包

在这里插入图片描述
先点击clean、然后再点击package就可以做成jar包,生成的jar包再classes文件里

三:B项目如何引入A项目的jar包

两种方法

方法一:lib包引入

src同级目录下创建libs文件夹
在这里插入图片描述

在这里插入图片描述
pom文件
在这里插入图片描述

方法二:Mvn命令引入pom文件

例如我的pom文件这个然后jar包是taiyuan-framework-3.8.6.jar
在这里插入图片描述

使用mvn install 命令来手动导入jar包,其中的一些参数含义:
-Dfile:代表需要引入jar的位置;
-DgroupId:jar的groupid,通常在pom文件中引入的时候可以看到
-DartifactId:jar的artifactId,通常在pom文件中引入的时候可以看到
-Dversion=3.0.0:jar包的版本
-Dpackaging:打包方式,通常用jar
**

cmd打开控制台通过mvn命令执行

mvn install:install-file -Dfile=D:/jar/taiyuan-framework-3.8.6.jar  -DgroupId=com.test -DartifactId=taiyuan-framework -Dversion=3.8.6 -Dpackaging=jar

执行成功后可以在maven本地仓库里找到com.test找到对应的问题,如果生成出来的pom文件不在你idea配置的maven里,可以手动把这个文件夹复制到你idea配置的maven仓库里,然后在idea项目里重新刷新下maven就可以引入成功了

四:B项目引入Ajar包后需要注意的点

注意点一:

在这里插入图片描述
B项目的配置里需要再配置一下A项目的Mapper的位置

注意点二:

B项目的实体类这个包也要多配置一下不然会包找不到class
在这里插入图片描述

注意点三:

如果A项目用的是mybatis配置你用的是mybatis-plus的配置则会不兼容这时,你得让他统一用一个配置要么mybatis,要么mybatis-plus

注意点四:

在这里插入图片描述
启动类要加上扫描A项目mapper得路径否则会导致mapper注入不进来

注意点五:

如果两个项目有重名得类可能也会导致不能运行

五:有用的就点赞一下吧,目前发现没有人写这个文章

相关文章:

springboot项目做成公共项目

一:引言 最近碰到个需求,就是把我项目做成一个公共的提供jar包给别人使用,我也是捣鼓了一段时间去研究这个问题,这个东西其实就是A 项目提供jar包给B项目,B项目只要引入A项目的jar包就可以使用A项目的功能。 问题一&…...

RTC 时间、闹钟

实时时钟RTC是一个独立的定时器。RTC模块拥有一个连续计数的计数器,在软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。 在掉电情况下 RTC仍可以独立运行 只要芯片的备用电源…...

【yolo系列:yolov7训练添加spd-conv】

系列文章目录 yolov7训练添加spd-conv 文章目录 系列文章目录一、spd-conv是什么?二、使用步骤1.第一步:先在models/common.py加上2.第二步:models/yolo.py加上2.第三步:修改yolov7的yaml文件 总结 提示:以下是本篇文…...

面向对象设计-UML六种箭头含义

目录 UML概述UML语义UML表示法 六种常用关系标识方法泛化实现依赖关联聚合组合 本文参考文章 https://blog.csdn.net/qq_25091281/article/details/123801862 UML概述 UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以…...

一本没有任何数学公式的自然语言处理入门书

ChatGPT 时代来了,AI 从旧时王谢堂前燕,飞入寻常百姓家。越来越多非 AI 领域 的软件开发者涌进 NLP(自然语言处理)领域。在这个快速发展的时代,如果这些软件开发 者要像读书那样先读 4 年本科、2 年硕士、3 年博士才能搞 AI,风口早…...

【数据结构C/C++】多维数组的原理、访问方式以及作用

文章目录 什么是多维数组?代码讲解使用方式为什么指针遍历的方式是这样子的?(助你理解指针的含义)使用场景408考研各数据结构C/C代码(Continually updating) 什么是多维数组? 在C语言中&#x…...

2023年中国烹饪机器人市场发展概况分析:整体规模较小,市场仍处于培育期[图]

烹饪机器人仍属于家用电器范畴,是烹饪小家电的进一步细分,它是烹饪小家电、人工智能和服务机器在厨房领域的融合。烹饪机器人是一种智能化厨房设备,可以根据预设的程序实现自动翻炒和烹饪,是多功能料理机和炒菜机结合的产物。 烹…...

Android原生实现控件选择背景变色方案(API28及以上)

Android控件点击/选择后控件背景变色的实现方式有很多种,例如使用selector的xml文件实现。这里介绍一下另一种Android原生的点击/选择实现方案(API28及以上),也就是ColorStateListDrawable。 ColorStateListDrawable是一个可根据不…...

为什么要学C语言及C语言存在的意义

为什么要学C语言及C语言存在的意义 汇编生C,C生万物。linus说自己最喜欢的语言就是C语言,因为看到写出的代码就能想到对应的汇编码。一方面说明C语言足够简洁,没有像C中一样的复杂概念封装,另一方面也说明C语言足够的底层&#xf…...

数据结构——空间复杂度

空间复杂度,与算法运行时所需的内存空间有关。 默认问题规模为n。 举例案例,具体分析。 1.全是普通变量 2.一维数组 3.二维数组 4.递归--变量 不递归的时候空间复杂度是O(1),递归的话递归n次,乘以n,所以空间复杂度…...

uniapp:swiper-demo效果

单元格轮播 <swiper class"swiper1" :circular"true" :autoplay"true" interval"3000" previous-margin"195rpx" next-margin"195rpx"><swiper-item v-for"(item,index) in 5" :key"inde…...

Graphviz 作图工具

选择 Graphviz 作为作图工具&#xff0c;主要是想通过代码创建图标&#xff0c;按照 Graphviz 的代码规范就可以生成 svg 的图片。当然&#xff0c;这样的工具也有很多&#xff0c;有些 markdown 编辑器也做了集成&#xff0c;比如&#xff1a; flowchart.jsMermaid 了解 Gra…...

vue、vuex状态管理、vuex的核心概念state状态

每一个 Vuex 应用的核心就是 store&#xff08;仓库&#xff09;。“store”基本上就是一个容器&#xff0c;它包含着你的应用中大部分的状态 (state)。Vuex 和单纯的全局对象有以下两点不同&#xff1a; Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候&…...

【QT】Qt Application Manager启动应用源码分析

Qt Application Manager启动应用源码分析 Qt Application Manager&#xff08;以下简称QTAM&#xff09;是QT推出的一款应用管理程序&#xff0c;可以把它简单理解成Android的LauncherSystemUI。但是&#xff0c;QTAM又集成了Wayland功能&#xff0c;并且自身实现了一套Compos…...

MyBatisPlus(十)判空查询

说明 判空查询&#xff0c;对应SQL语句中的 IS NULL语句&#xff0c;查询对应字段为 NULL 的数据。 isNull /*** 查询用户列表&#xff0c; 查询条件&#xff1a;电子邮箱为 null 。*/Testvoid isNull() {LambdaQueryWrapper<User> wrapper new LambdaQueryWrapper<…...

AIGC(生成式AI)试用 8 -- 曾经的难题

长假&#xff0c;远离电脑、远离手机、远离社交。 阴雨连绵&#xff0c;望着窗外发呆&#xff0c;AIGC为何物&#xff1f;有什么问题要问AIGC&#xff1f;AIGC可以代替我来发呆&#xff0c;还是可是为我空出时间发呆&#xff1f; 如果可以替代我发呆&#xff0c;要我何…...

文化主题公园旅游景点3d全景VR交互体验加深了他们对历史文化的认知和印象

如今&#xff0c;沉浸式体验被广泛应用于文旅行业&#xff0c;尤其是在旅游演艺活动中。在许多城市&#xff0c;沉浸式旅游演艺活动已成为游客“必打卡”项目之一。因其独特体验和强互动性&#xff0c;这类演艺活动不仅吸引了外地游客&#xff0c;也吸引了本地观众。 随着信息化…...

京东数据分析平台:2023年8月京东奶粉行业品牌销售排行榜

鲸参谋监测的京东平台8月份奶粉市场销售数据已出炉&#xff01; 鲸参谋数据显示&#xff0c;8月份京东平台上奶粉的销售量将近700万件&#xff0c;环比增长约15%&#xff0c;同比则下滑约19%&#xff1b;销售额将近23亿元&#xff0c;环比增长约4%&#xff0c;同比则下滑约3%。…...

Java 21:虚拟线程介绍

Java 21 版本更新中最重要的功能之一就是虚拟线程 (JEP 444)。这些轻量级线程减少了编写、维护和观察高吞吐量并发应用程序所需的工作量。 正如我的许多其他文章一样&#xff0c;在推出新功能之前&#xff0c;让我们先看看 Java 21 版本更新前的现状&#xff0c;以便更好地了解…...

Redis-缓存穿透,缓存击穿,缓存雪崩

缓存穿透&#xff0c;缓存击穿&#xff0c;缓存雪崩 缓存穿透处理方案解决方案1 缓存空数据解决方案2 布隆过滤器 缓存击穿处理方案解决方案 1 互斥锁解决方案2 逻辑过期 缓存雪崩处理方案解决方案 1 给不同的key的过期时间设置添加一个随机值&#xff0c;降低同一个时段大量ke…...

别再乱设JVM堆大小了!Elasticsearch 8.x 内存配置保姆级避坑指南

Elasticsearch 8.x 内存配置实战&#xff1a;从GC崩溃到性能巅峰的避坑手册 凌晨三点&#xff0c;服务器告警又一次响起。屏幕上的GC日志像瀑布一样滚动&#xff0c;节点频繁脱离集群&#xff0c;查询延迟突破天际——这可能是每个Elasticsearch运维人员都经历过的噩梦时刻。而…...

从总线到片上网络:高性能SoC互连架构演进与实战解析

1. 从“堵车”的总线到“高速公路网”&#xff1a;为什么我们需要NoC&#xff1f;记得我刚入行做芯片设计那会儿&#xff0c;一个SoC里塞进去几十个IP模块&#xff0c;大家共用一条总线&#xff0c;感觉已经挺“先进”了。那时候的芯片&#xff0c;就像一个小镇&#xff0c;只有…...

告别手动调试!用西门子STEP7组态软件,5分钟搞定步进电机多段速与正反转控制逻辑

西门子STEP7高效编程&#xff1a;5步构建步进电机智能控制系统 在工业自动化现场&#xff0c;调试步进电机控制逻辑往往是耗时费力的工作——传统方法需要反复修改硬件接线和梯形图程序&#xff0c;每次速度切换或方向调整都可能引发意外停机。而西门子STEP7组态软件提供的结构…...

华为昇腾PTO指令集优化SSA架构Gather操作

华为昇腾的PTO&#xff08;Pipeline Tensor Operations&#xff09;指令集通过其异构流水线、内存层次优化和软硬件协同设计&#xff0c;为优化亚二次注意力&#xff08;SSA&#xff09;架构中的不规则Gather&#xff08;聚集&#xff09;操作提供了系统性的解决方案。这些优化…...

Artisan烘焙软件:基于Python的开源咖啡烘焙控制与数据分析平台

Artisan烘焙软件&#xff1a;基于Python的开源咖啡烘焙控制与数据分析平台 【免费下载链接】artisan artisan: the worlds most trusted roasting software 项目地址: https://gitcode.com/gh_mirrors/ar/artisan Artisan是一款采用Python技术栈构建的开源咖啡烘焙控制软…...

从LED闪烁到任务调度:手把手教你用英飞凌AURIX的STM系统定时器构建简单时间片

从LED闪烁到任务调度&#xff1a;基于英飞凌AURIX的STM系统定时器构建轻量级时间片框架 在嵌入式开发中&#xff0c;系统定时器&#xff08;STM&#xff09;常被简化为"高级延时工具"&#xff0c;但它的潜力远不止于此。当开发者面对需要同时处理LED状态控制、按键扫…...

3分钟掌握ncmdump:网易云音乐NCM文件终极解密方案

3分钟掌握ncmdump&#xff1a;网易云音乐NCM文件终极解密方案 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式音乐无法在其他播放器使用而烦恼吗&#xff1f;ncmdump这款免费开源工具正是你的完美解决…...

青龙面板自动化签到终极指南:30+平台一键签到,每天节省30分钟

青龙面板自动化签到终极指南&#xff1a;30平台一键签到&#xff0c;每天节省30分钟 【免费下载链接】check 青龙面板平台签到函数 项目地址: https://gitcode.com/gh_mirrors/check5/check 还在为每天繁琐的签到任务烦恼吗&#xff1f;签到盒青龙版是你的完美解决方案&…...

pyperclip测试策略:如何确保跨平台剪贴板功能的稳定性

pyperclip测试策略&#xff1a;如何确保跨平台剪贴板功能的稳定性 【免费下载链接】pyperclip Python module for cross-platform clipboard functions. 项目地址: https://gitcode.com/gh_mirrors/py/pyperclip pyperclip是一个强大的Python跨平台剪贴板模块&#xff0…...

Bilibili-Evolved:打造无网络依赖的哔哩哔哩增强体验技术解析

Bilibili-Evolved&#xff1a;打造无网络依赖的哔哩哔哩增强体验技术解析 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved 在当今网络环境复杂多变的时代&#xff0c;用户对Web应用的稳定性要…...