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即可。

相关推荐
friklogff16 分钟前
【C#生态园】构建你的C#操作系统:框架选择与实践
服务器·开发语言·c#
TravisBytes22 分钟前
linux 系统是如何收发数据包
linux·运维·服务器
平头哥在等你1 小时前
《计算机网络名词解释》
服务器·网络·计算机网络
德迅--文琪2 小时前
SCDN是服务器吗?SCDN防御服务器有什么特点?
运维·服务器
z202305082 小时前
linux 之0号进程、1号进程、2号进程
linux·运维·服务器
秋已杰爱2 小时前
HTTP中的Cookie与Session
服务器·网络协议·http
code bean3 小时前
【C#基础】函数传参大总结
服务器·开发语言·c#
shelby_loo3 小时前
通过 Docker 部署 WordPress 服务器
服务器·docker·容器
Hqst_Kevin3 小时前
Hqst 品牌 H81801D 千兆 DIP 网络变压器在光猫收发器机顶盒中的应用
运维·服务器·网络·5g·网络安全·信息与通信·信号处理
前端-文龙刚3 小时前
小程序给对象赋值(双向绑定)方法之一
服务器·小程序·apache