Maven引入本地Jar包并打包进War包中的方法

 更新时间:2017年11月24日 10:03:01   作者:upshi  
本篇文章主要介绍了Maven引入本地Jar包并打包进War包中的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

1.概述

在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来。

2. 拷贝至项目根目录

项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示:

这4个Jar包是识别网页编码所需的包。

3. 配置pom.xml,依赖本地Jar

配置Jar的dependency,包括groupId,artifactId,version三个属性,同时还要包含scope和systemPath属性,分别指定Jar包来源于本地文件,和本地文件的所在路径。

<!-- #################################  cpdetector  #################################### -->
<dependency>
  <groupId>cpdetector</groupId>
  <artifactId>cpdetector</artifactId>
  <version>1.0.10</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/cpdetector_1.0.10.jar</systemPath>
</dependency>

<dependency>
  <groupId>antlr</groupId>
  <artifactId>antlr</artifactId>
  <version>2.7.4</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/antlr-2.7.4.jar</systemPath>
</dependency>

<dependency>
  <groupId>chardet</groupId>
  <artifactId>chardet</artifactId>
  <version>1.0</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/chardet-1.0.jar</systemPath>
</dependency>

<dependency>
  <groupId>jargs</groupId>
  <artifactId>jargs</artifactId>
  <version>1.0</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/jargs-1.0.jar</systemPath>
</dependency>

其中,${basedir}是指项目根路径

4. 配置Maven插件将本地Jar打包进War中

在进行以上配置以后,编写代码时已经可以引入Jar包中的class了,但是在打包时,由于scope=system,默认并不会将Jar包打进war包中,所有需要通过插件进行打包。

修改pom.xml文件,在plugins标签下加入下面的代码

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <version>2.10</version>
  <executions>
    <execution>
      <id>copy-dependencies</id>
      <phase>compile</phase>
      <goals>
        <goal>copy-dependencies</goal>
      </goals>
      <configuration>
        <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
        <includeScope>system</includeScope>
      </configuration>
    </execution>
  </executions>
</plugin>

这样,打出来的war包中,就会包含本地引入的jar依赖了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot+Quartz+数据库存储的完美集合

    SpringBoot+Quartz+数据库存储的完美集合

    这篇文章主要介绍了SpringBoot+Quartz+数据库存储的示例代码,本文通过实例代码图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • SpringSecurity导致SpringBoot跨域失效的问题解决

    SpringSecurity导致SpringBoot跨域失效的问题解决

    本文主要介绍了SpringSecurity导致SpringBoot跨域失效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 解决mybatis update并非所有字段需要更新问题

    解决mybatis update并非所有字段需要更新问题

    这篇文章主要介绍了解决mybatis update并非所有字段需要更新问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Spring中自动注入的两种方式总结

    Spring中自动注入的两种方式总结

    Spring的核心技术IOC(Intorol of Converse控制反转)的实现途径是DI(dependency Insert依赖注入)。而依赖注入(DI)的实现方式又有两种,xml方式和注解方式。本文就来详细聊聊这两个方式,需要的可以了解一下
    2022-10-10
  • springMVC传递list对象的三种使用方式

    springMVC传递list对象的三种使用方式

    这篇文章主要介绍了springMVC传递list对象的三种使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • SPFA 算法实例讲解

    SPFA 算法实例讲解

    下面小编就为大家带来一篇SPFA 算法实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Java定时器例子_动力节点Java学院整理

    Java定时器例子_动力节点Java学院整理

    本文给大家分享了java定时器例子,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-05-05
  • 一文详解gRPC快速整合SpringCloud

    一文详解gRPC快速整合SpringCloud

    这篇文章主要为大家介绍gRPC快速整合SpringCloud的实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 基于spring boot 命令行启动的一些坑

    基于spring boot 命令行启动的一些坑

    这篇文章主要介绍了spring boot 命令行启动的一些坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • java中Map集合的常用方法总结大全

    java中Map集合的常用方法总结大全

    开发中最常用的就是List集合和Map集合,Map集合是基于java核心类java.util中的,下面这篇文章主要给大家总结介绍了关于java中Map集合的一些常用方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01

最新评论