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

两个独立的SpringBoot项目如何互相引用?

当你有两个独立的 Spring Boot 项目(例如 userServicedataService),并且你希望 userService 引用 dataService,你需要将 dataService 打包并安装到 Maven 仓库中,然后在 userServicepom.xml 中添加对 dataService 的依赖。

以下是具体的步骤:

1. 配置 dataService 项目

步骤 1.1:修改 dataServicepom.xml

确保 dataService 项目能够正确生成一个 JAR 文件,并将 packaging 类型设置为 jar(如果尚未设置):

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/POM/4.0.0"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>data-service</artifactId><version>1.0.0</version><packaging>jar</packaging><!-- 其他配置 -->
</project>

步骤 1.2:打包并安装到本地 Maven 仓库

dataService 项目的根目录下运行:

mvn clean install

这会将 dataService 打包为 JAR 文件并安装到本地 Maven 仓库(通常在 ~/.m2/repository 目录下)。

2. 配置 userService 项目

步骤 2.1:修改 userServicepom.xml

userService 项目的 pom.xml 文件中添加对 dataService 的依赖:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/POM/4.0.0"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>user-service</artifactId><version>1.0.0</version><packaging>jar</packaging><dependencies><dependency><groupId>com.example</groupId><artifactId>data-service</artifactId><version>1.0.0</version></dependency></dependencies>
</project>

3. 确保正确的 Maven 配置

  • 本地 Maven 仓库:在 userService 项目中使用 dataService 的 JAR 文件是从本地 Maven 仓库加载的,因此在 dataService 项目打包并安装后,userService 项目需要确保使用相同的 Maven 配置。
  • 远程仓库:如果你使用的是远程 Maven 仓库(如 Nexus 或 Artifactory),你需要将 dataService 发布到远程仓库,然后在 userService 中引用远程仓库中的 dataService

示例说明

假设你的 Maven 项目结构如下:

/projects/data-service/pom.xml/user-service/pom.xml

在这种情况下,data-service 需要先被打包并安装到本地 Maven 仓库,然后 user-service 可以引用这个 JAR 文件。

总结

  1. 配置 dataService:设置 packagingjar 并打包。
  2. 安装到本地仓库:运行 mvn clean install
  3. 配置 userService:在 pom.xml 中添加对 dataService 的依赖。

通过这些步骤,你可以在不同的 Spring Boot 项目之间建立依赖关系。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 20240824给飞凌OK3588-C的核心板刷Ubuntu22.04后适配SONY索尼的HDMI OUT的机芯8530
  • 【通俗易懂】限流、降级、熔断有什么区别?
  • C语言刷题日记(附详解)(2)
  • 防患未然:构建AIGC时代下开发团队应对突发技术故障与危机的全面策略
  • 代码随想录算法训练营day30 | 贪心算法 | 452.用最少数量的箭引爆气球、435.无重叠区间、763.划分字母区间
  • PostgreSQL SELECT 语句:深入解析与实例应用
  • vscode修改选中文字颜色及当前tab颜色
  • web前端之选项卡集合、动态添加类名、动态移除类名、动态添加样式、激活、间距、节流、tabBar
  • VS实用调试技巧
  • unoredered_mapunordered_set封装
  • R语言VAR模型的多行业关联与溢出效应可视化分析
  • LinkedList添加和删除方法的源码分析超详细
  • JS生成随机数
  • 多通道协议-FTP详解
  • matlab峰值检测
  • 深入了解以太坊
  • ES6 ...操作符
  • es6--symbol
  • Flannel解读
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Logstash 参考指南(目录)
  • python docx文档转html页面
  • python 装饰器(一)
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 高程读书笔记 第六章 面向对象程序设计
  • 规范化安全开发 KOA 手脚架
  • 类orAPI - 收藏集 - 掘金
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 异步
  • 用jquery写贪吃蛇
  • 阿里云重庆大学大数据训练营落地分享
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​补​充​经​纬​恒​润​一​面​
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ​学习一下,什么是预包装食品?​
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # 数据结构
  • #define,static,const,三种常量的区别
  • #pragma once
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (02)vite环境变量配置
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (8)STL算法之替换
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (ZT)出版业改革:该死的死,该生的生
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking