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

作者:upshi 时间:2023-06-16 12:43:28 

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

来源:http://blog.csdn.net/upshi/article/details/69948505

标签:Maven,Jar,War
0
投稿

猜你喜欢

  • C# Winform实现进度条显示

    2023-09-14 15:47:51
  • C#实现的ZPL条码打印类完整实例

    2022-12-06 14:35:05
  • MybatisPlus实现对象嵌套关联查询一对多List集合查询

    2022-04-27 16:00:12
  • 使用Spring Expression Language (SpEL)全面解析表达式

    2021-11-19 08:07:10
  • MyBatis中的模糊查询语句

    2022-09-30 03:36:59
  • Android Compose Column列表不自动刷新问题

    2022-08-10 07:48:02
  • SpringBoot事件机制相关知识点汇总

    2021-05-29 06:53:45
  • Java并发编程之LockSupport类详解

    2022-08-21 10:38:36
  • 在C#中global关键字的作用及其用法

    2021-12-24 04:33:19
  • c++禁止函数的传值调用的方法

    2022-12-02 13:35:09
  • C#实现状态栏提示信息功能的示例

    2022-01-05 12:36:57
  • java8 stream自定义分组求和并排序的实现

    2022-09-12 04:08:26
  • Java线程同步机制_动力节点Java学院整理

    2023-08-01 10:29:47
  • spring boot配置ssl实现HTTPS的方法

    2022-03-27 01:27:49
  • C#获取打印机列表方法介绍

    2022-07-29 02:54:38
  • 解析.NET中几种Timer的使用

    2023-05-21 17:27:53
  • spring mvc DispatcherServlet之前端控制器架构详解

    2023-07-30 16:53:23
  • 分布式Netty源码分析EventLoopGroup及介绍

    2022-02-12 03:20:51
  • Android如何通过手机自动获取短信验证码

    2022-12-10 00:19:47
  • C#调用新浪微博API实例代码

    2022-12-21 14:02:15
  • asp之家 软件编程 m.aspxhome.com