IDEA 在 maven 项目打 war 包时将外部第三方引入的 jar 包

项目打 war 包发布时,由于引入了第三方 Jar 包,导致打包失败,打包不成功。接下来我就将 maven 打包需要引入额外的 Jar 包详细过程分享出来,有问题大家一起讨论。

一、配置补全的 pom 文件中打包的插件依赖

原始默认使用打包插件依赖

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

修改后的打包插件【需要导入系统之外的 Jar 包】

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

在 Sprinboot 项目中 pom.xml 文件加 <includeSystemScope>true</includeSystemScope>,代表 maven 打包时会将外部引入的 jar 包(比如在根目录下或 resource 文件下新加外部 jar 包)打包到项目 jar,在服务器上项目才能运行,不加此配置,本地可以运行,因为本地可以再 lib 下找到外部包,但是服务器上 jar 中是没有的。

二、设置导入第三方 Jar 的目录结构

一般情况下,在项目的 resources 目录下,创建 lib 目录,然后导入指定的第三方 Jar 包;

     

三、在 pom.xml 文件中需要引入该依赖

     

注意:

  ${project.basedir}理解:${basedir}项目的根目录(包含pom.xml文件的目录),${version}项目版本

      需要自定义 groupId 、artifactId 及 version 的值

此时再次 mvn clean package 就可以将外部 jar 包引入到项目的 war 包中 

 

posted @   菜鸟的奋斗之路  阅读(2098)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示