maven引入本地jar,部署到服务器上找不到

前言

java项目中引入了一些外部的jar包. 在本地idea中打包可以运行, 部署到服务器中, 报找不到依赖包.

解决方式

  • 自定义目录,这里在project的根目录新建lib文件夹,将jar放进去
  • pom.xml中引入
java 复制代码
<dependency>
          <groupId>自定义</groupId>
          <artifactId>自定义</artifactId>
          <version>自定义</version>
          <scope>system</scope>
          <!--systemPath:jar包的路径(idea编写的时候会有提示的)-->
          <systemPath>${project.basedir}/lib/taobao-sdk-java.jar</systemPath>
</dependency>

通过上述方式,在开发环境没有什么问题,不会存在什么包找不到等情况

  • 处理打包
java 复制代码
<build>
   <resources>
    <resource>
      <directory>lib</directory>
      <targetPath>/BOOT-INF/lib/</targetPath>
      <includes>
        <include>**/*.jar</include>
      </includes>
    </resource>
   </resources>
 </build>

directory :指定lib文件夹的位置,由于是相对工程根目录,所以直接写上lib即可
targetPath :打包到的文件夹位置,写上BOOT-INF/lib即可,或者是WEB-INF/lib。【斜杠(/)加不加都行,如果是mac的话写./】
includes:一般都是以jar结尾,就写**/*.jar

这样就解决啦 mvn package即可。

相关推荐
国际云,接待3 分钟前
华为云 ELB 如何配出真正高可用:跨可用区 ECS、健康检查和灰度摘流实战
服务器
牢姐与蒯25 分钟前
Linux文件(三).Ext系列文件系统
linux·运维·服务器
java_nnnn35 分钟前
面试题(网络部分前传)-13问
服务器·网络·网络协议·tcp/ip·面试
码少女1 小时前
Linux--套接字编程
linux·服务器·网络
进击的荆棘1 小时前
Linux系统——进程控制(下)
linux·运维·服务器·进程
一个有温度的技术博主10 小时前
Linux 核心命令速查指南:从文件操作到系统运维
linux·服务器
Winner_hwx11 小时前
华为ICT大赛备赛复习1
服务器·网络·华为
宗介波妞12 小时前
Wireshark 抓取 IEC104 报文:常见异常报文排查与标志位解读
服务器·网络·wireshark
网硕互联的小客服13 小时前
各个版本的Linux系统如何修改远程端口ssh端口?
linux·运维·服务器·网络
T1mzhou13 小时前
ARM64 Linux 6.10 内核驱动(12):dd.c:probe/ remove、延迟 probe
linux·服务器·c语言·arm开发·arm