欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-04-01 16:49:52
1.概述 在平时的开发中,有一些jar包因为种种原因,在maven的*仓库中没有收录,所以就要使用本地引入的方式加入进来。 2. 拷贝至项目根目录 项目根目录即po...

1.概述

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

2. 拷贝至项目根目录

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

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

这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依赖了。

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