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

18. SpringBoot 如何在 POM 中引入本地 JAR 包

在这里插入图片描述

❤️ 个人主页:水滴技术
🌸 订阅专栏:成功解决 BUG 合集
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬

Spring Boot 是一种基于 Spring 框架的轻量级应用程序开发框架,它提供了快速开发应用程序所需的一系列工具和库。在开发 Spring Boot 应用程序时,您可能需要使用本地 JAR 包来添加自定义库或功能。本文将介绍在 Spring Boot 项目的 POM 文件中如何引入本地 JAR 包。

引入本地 JAR 包

在 Spring Boot 项目的 POM 文件中引入本地 JAR 包,您可以使用 system 作用域。system 作用域指定了依赖项需要从本地文件系统中获取,而不是从 Maven 仓库中获取。以下是在 Spring Boot 项目的 POM 文件中引入本地 JAR 包的示例:

<dependency><groupId>com.example</groupId><artifactId>mylib</artifactId><version>1.0</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/mylib.jar</systemPath>
</dependency>

在上述示例中,<scope> 元素指定了依赖项的作用域为 system<systemPath> 元素指定了本地 JAR 包的路径,${project.basedir} 变量表示项目根目录的路径。

配置 Maven 插件

通过上面的配置,可以将本地的 JAR 包引入到项目中,但使用范围仅限于本地项目,如果将项目打包到服务器,该 JAR 包也不会被识别的。那是因为,还缺少下面配置:

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

在 Maven 项目的 POM 文件中,<includeSystemScope> 元素用于指定是否在依赖项解析期间包括 system 作用域的依赖项。当设置 <includeSystemScope>true 时,Maven 会在解析依赖项时包括 system 作用域的依赖项;当设置为 false 时,Maven 会忽略 system 作用域的依赖项。

也就是说,增加此配置,JAR 包才能一块被打包到服务器,不加此配置,本地可以运行,但服务器上找不到此 JAR 包。

总结

在 Spring Boot 项目的 POM 文件中引入本地 JAR 包是一项常见的任务。使用 system 作用域和<includeSystemScope> 可以方便地引入本地 JAR 包,但也可能会带来一些潜在的问题,因为 system 作用域的依赖项不是由 Maven 管理的,它们依赖于本地文件系统中的 JAR 文件。如果您需要在不同的机器上部署应用程序,或者本地 JAR 包依赖于其他库,建议您使用 Maven 官方仓库或私有 Nexus 仓库来管理依赖项。


热门专栏

👍 《Python入门核心技术》
👍 《IDEA 教程:从入门到精通》
👍 《Java 教程:从入门到精通》
👍 《MySQL 教程:从入门到精通》
👍 《大数据核心技术从入门到精通》

http://www.lryc.cn/news/111887.html

相关文章:

  • vue2-$nextTick有什么作用?
  • python自动收集粘贴板
  • Vue3_语法糖—— <script setup>以及unplugin-auto-import自动引入插件
  • 2023-08-06力扣做过了的题
  • 进程间通信之管道
  • f12 CSS网页调试_css样式被划了黑线怎么办
  • vue-制作自动滚动效果
  • [国产MCU]-BL602-开发实例-DMA数据传输
  • Redis压缩列表
  • 【SA8295P 源码分析】62 - Android GVM Kernel 内核 make bootimage 过程分析
  • 机器学习——SMO算法推导与实践
  • mac的终端通过code .指令快速启动vscode
  • 前端系统使用iframe下载文件
  • RabbitMQ - 简单案例
  • 《吐血整理》高级系列教程-吃透Fiddler抓包教程(30)-Fiddler如何抓Android7.0以上的Https包-番外篇
  • 服务器被攻击了怎么办?
  • P1156 垃圾陷阱(背包变形)
  • [Docker实现测试部署CI/CD----构建成功后钉钉告警(7)]
  • UE5 半透明覆层材质
  • 在Raspberry Pi 4上安装Ubuntu 20.04 + ROS noetic(不带显示器)
  • CommStudio for .NET Crack
  • 蓝桥杯上岸考点清单 (冲刺版)!!!
  • AI一键生成短视频
  • 基于MATLAB长时间序列遥感数据分析(以MODIS数据处理为例)
  • postgresql之内存池-AllocsetContext
  • QT 使用单例模式
  • 接口测试——postman接口测试(三)
  • react中hooks的理解与使用
  • STM32的电动自行车信息采集上报系统(学习)
  • 蓝桥杯上岸每日N题 第七期(小猫爬山)!!!