Maven项目如何在pom文件中引入lib下的第三方jar包并打包进去

 更新时间:2024年09月20日 12:15:27   作者:二掌柜,酒来!  
在使用Maven进行项目开发时,引入第三方私有的Jar包可能会遇到问题,一种常见的解决方案是将Jar包添加到项目的lib目录,并通过IDE进行配置,但这需要每个开发者单独操作,效率低下,更好的方法是通过Maven的pom.xml文件管理这些Jar包

需求出现背景

联合第三方进行开发时,有部分第三方私有的jar需要引入项目,而在我方maven仓库内并没有

法一 add as library

直接在lib目录上右键

然后本地第三方的类就不会报错了。

但是,即使你用git提交代码。其他人还需要重复一遍这个操作。麻烦!

法二 maven 打包外部jar包

1.dependency 配置

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

如:

<dependency>
            <groupId>pay-common</groupId> <!--    自定义        -->
            <artifactId>pay-common</artifactId>  <!--    自定义        -->
            <version>1.0</version> <!--    自定义        -->
            <scope>system</scope>  
            <systemPath>${basedir}/lib/third-pay-common.jar</systemPath>
</dependency>
            

但是scope要写system,然后systemPath就是上面jar包的路径

你可以点击 ${basedir} ,以确定目录层级

2. 配置打包插件

第一种配置方法

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                        <extdirs>${project.basedir}/lib</extdirs>
                    </compilerArguments>
                </configuration>
            </plugin>
        </plugins>
    </build>

第二种配置方法

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <!--本地jar包一并打入-->
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
        </plugins>
    </build>

完美解决!

总结

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

相关文章

  • SpringBoot 配置多个JdbcTemplate的实现步骤

    SpringBoot 配置多个JdbcTemplate的实现步骤

    本文介绍了在SpringBoot中配置多个JdbcTemplate的方法,包括创建项目、添加依赖、配置数据源和多个JdbcTemplate的使用,感兴趣的可以了解一下
    2024-11-11
  • java实现微信公众号发送模版消息

    java实现微信公众号发送模版消息

    这篇文章以订单推送为例,主要为大家详细介绍了java实现微信公众号发送模版消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • myeclipse8.5优化技巧详解

    myeclipse8.5优化技巧详解

    本文详细介绍了myeclipse8.5优化技巧,在这里和大家分享一下,希望对大家有用。
    2017-09-09
  • springboot项目Redis统计在线用户的实现示例

    springboot项目Redis统计在线用户的实现示例

    最近做个项目需要统计在线用户,本文主要介绍了springboot项目Redis统计在线用户的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • Java的四种常见线程池及Scheduled定时线程池实现详解

    Java的四种常见线程池及Scheduled定时线程池实现详解

    这篇文章主要介绍了Java的四种常见线程池及Scheduled定时线程池实现详解,在Java中,我们可以通过Executors类来创建ScheduledThreadPool,Executors类提供了几个静态方法来创建不同类型的线程池,包括ScheduledThreadPool,需要的朋友可以参考下
    2023-09-09
  • JavaWeb 实现验证码功能(demo)

    JavaWeb 实现验证码功能(demo)

    在 WEB-APP 中一般应用于:登录、注册、买某票、秒杀等场景,大家都接触过这个验证码操作,今天小编通过实例代码给大家讲解javaweb实现验证码功能,需要的朋友参考下
    2017-02-02
  • Java线程池拒绝策略场景分析

    Java线程池拒绝策略场景分析

    不同的业务场景对任务丢失的容忍度、响应延迟的要求、系统保护的需求各不相同,本文就来介绍一下Java线程池拒绝策略场景分析,感兴趣的可以了解一下
    2026-04-04
  • mybatis if test 不为空字符串或null的解决

    mybatis if test 不为空字符串或null的解决

    这篇文章主要介绍了mybatis if test 不为空字符串或null的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Eclipse IDE中如何设置JVM启动参数

    Eclipse IDE中如何设置JVM启动参数

    这篇文章主要介绍了Eclipse IDE中如何设置JVM启动参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Linux系统下更换jdk版本详细步骤

    Linux系统下更换jdk版本详细步骤

    随着Java语言的不断更新,多个版本的JDK在现在的Linux环境中都存在,使得不同的开发人员可以按照自己的需求使用不同的JDK版本,这篇文章主要给大家介绍了关于Linux系统下更换jdk版本的详细步骤,需要的朋友可以参考下
    2023-12-12

最新评论