springboot如何用maven打包外部引入的lib依赖

 更新时间:2026年06月09日 10:35:25   作者:林志鹏JAVA  
这段描述主要介绍了如何在Maven项目中添加外部JAR包,并详细说明了将JAR包放置于`lib`目录及修改`pom.xml`文件配置以确保JAR包被包含到最终的JAR包中

前言

大部分我们日常需要的依赖都可以在maven仓库上找到,但是有时候需要引入一些外部的jar包到工程,则会在工程下建一个lib目录,然后添加到工程依赖。

一、添加外部jar包到lib目录

在工程下建一个lib目录,然后把jar包上传到此目录下,如图

本地使用的话,可以使用idea本身的功能添加到工程依赖里面,右键lib目录,选择Add as Library

这时候就可以在工程使用了,但是工程使用maven打包成jar包的话,这些lib下外部的jar包并不会打到最终的jar里面。可以到最终jar下的BOOT-INF/lib 目录查看。

二、配置maven打包

1.pom.xml 配置

首先在pom.xml的dependencies目录下添加jar包的依赖信息:

然后在build标签下,配置打包目录

相关的pom代码如下:

    <dependencies>
        <!-- 打包引入的外部依赖 -->
        <!-- Impala start -->
        <dependency>
            <groupId>com.cloudera</groupId>
            <artifactId>ImpalaJDBC41</artifactId>
            <version>41.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/ImpalaJDBC41.jar</systemPath>
        </dependency>
        <!-- greenplum -->
        <dependency>
            <groupId>com.pivotal</groupId>
            <artifactId>greenplum-jdbc</artifactId>
            <version>5.1.4</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/greenplum-jdbc-5.1.4.jar</systemPath>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>*.jar</include>
                </includes>
            </resource>
        </resources>
    </build>

这样模块在最后打包的时候,则会把lib下的jar包都打到 BOOT-INF/lib/目录下

注意:

这里还要如上,手动配置打包src/main/resources下的内容,否则会加载不到配置文件

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java中数组在内存中存放原理的讲解

    Java中数组在内存中存放原理的讲解

    今天小编就为大家分享一篇关于Java中数组在内存中存放原理的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • java InterruptedException 异常中断的实现

    java InterruptedException 异常中断的实现

    本文主要介绍了java InterruptedException 异常中断的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • java表单提交中文乱码的解决方法

    java表单提交中文乱码的解决方法

    这篇文章主要介绍了java表单提交中文乱码的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • SpringBoot中自定义Starter的完整教程

    SpringBoot中自定义Starter的完整教程

    在 Spring Boot 中,自定义 Starter 是一种非常强大的方式,可以将常用的功能模块封装成可复用的组件,下面我们就来看看具体的实现方法吧
    2025-11-11
  • SpringSecurity添加图形验证码认证实现

    SpringSecurity添加图形验证码认证实现

    本文主要介绍了SpringSecurity添加图形验证码认证实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 自定义Jackson的ObjectMapper如何实现@ResponseBody的自定义渲染

    自定义Jackson的ObjectMapper如何实现@ResponseBody的自定义渲染

    这篇文章主要介绍了自定义Jackson的ObjectMapper如何实现@ResponseBody的自定义渲染,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java接入常用大模型API的实战对比

    Java接入常用大模型API的实战对比

    这篇文章主要为大家详细介绍了Java接入常用大模型API的实战对比,主要是Ollama(本地),阿里云通义千问,OpenAI和豆包 Coze,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2026-04-04
  • mybatisplus 配置二级缓存及实战示例

    mybatisplus 配置二级缓存及实战示例

    这篇文章主要介绍了mybatisplus 配置二级缓存及实战示例,包含基础配置、高级特征及实战示例,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-08-08
  • java实现播放背景音乐

    java实现播放背景音乐

    这篇文章主要为大家详细介绍了java实现播放背景音乐,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • Java读取properties文件内容的几种方式详解

    Java读取properties文件内容的几种方式详解

    这篇文章主要介绍了Java读取properties文件内容的几种方式详解,读取properties配置文件在实际的开发中使用的很多,本文来介绍常用的几种实现方式,需要的朋友可以参考下
    2023-11-11

最新评论