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

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

时间: 2024-10-01 07:48:25

Maven引入本地Jar包并打包进War包中的相关文章

Maven引入本地Jar包

Maven引入本地Jar包 baby_honour关注 2019.05.14 18:42:30字数 180阅读 3,579 拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示: 配置pom.xml,依赖本地Jar 配置Jar的dependency,包括groupId,artifactId,version三个属性,同时还要包含scope和systemPath属性,分别指定Jar包来源于本地文件,和本地文件的所在路径. POM文件里面可以引

maven 引入本地 jar

$ 参考1 : https://www.cnblogs.com/lixuwu/p/5855031.html ! 注: 参考1中的第二种方法,作者并未实际尝试,我尝试了,虽然在eclipse 中编译不报错,但是maven打包的时候会有一个warning, 而且打包的时候不包含该jar包 $ 参考2 : https://blog.csdn.net/asing1elife/article/details/82732113 | 参考2 中的作者解决了参考1中第二种方法的问题,但是实际上也是用"maven

Springboot中如何引入本地jar包,并通过maven把项目成功打包成jar包部署

最近尝试引入阿里云的短信验证码,阿里云的core sdk是maven就有的,但是短信相关的jar包却不是放在maven的,所以得引入本地的下载回来的jar包.本地开发直接引入,idea是可以直接跑调用是没问题的.但是打成jar包部署的时候,项目能跑,但是到关键的调用短信sdk的时候就爆ClassNofFoundException错误.看了很多网上的帖子,很多都说用plugin 中resource来弄,对我的项目一点鸟用也没有.最后还是在stackoverflow上找到了答案,所以做了以下总结.

解决Maven关于本地jar包的打包处理

在使用maven进行jar包管理时,通过我们都是通过maven去下载一些jar包,但有些jar在maven上没有,所以就就可能在本地直接手动加入一些需要用到的外部jar包.但如果我们用maven package打包就会发现,本地的那些jar是不能被maven识别的,所以就需要解决Maven关于本地jar包的打包处理的问题. 还好maven中有提供这样的配置,在pom文件中通过配置附加指定本地jar的路径即可完成maven打包功能. <build> <plugins> <plu

maven 引入外部jar包的几种方式(转)

原文链接: maven 引入外部jar包的几种方式 方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud</groupId> <!--自定义--> <artifactId>cloud</artifactId> <!--自定义--> <version>1.0</version> <!--自定义--> <scope>

maven添加本地jar包到maven仓库

maven添加本地jar包到maven仓库mvn install:install-file -DgroupId=io.netty -DartifactId=netty-all -Dversion=5.0.0.Alpha1 -Dpackaging=jar -Dfile=G:/java/jar包/netty-all-5.0.0.Alpha1.jar 我下载的这个 jar 包是放到了 D:\mvn 目录下(D:\mvn\spring-context-support-3.1.0.RELEASE.jar)

Maven将本地jar包安装到仓库

Maven将本地jar包安装到仓库 mvn install:install-file -Dfile=C:\Users\seman\Documents\opencv\build\java\opencv-310.jar -DgroupId=com.semanteme.code -DartifactId=opencv -Dversion=310 -Dpackaging=jar 原文地址:https://www.cnblogs.com/semanteme/p/11247788.html

maven项目打包分析及打包后war包缺少配置文件报错的原因分析,使用progard混淆时配置分析

1.maven打包: 一直以来我都没太注意过在myeclipse下使用run as来clean居然对项目的target目录没有进行操作,要让操作有效,需要进入到maven build...选项下,进行clean,然后再使用process resources来加入配置文件,再使用compile-->package来打包,同时,值得注意的是,maven在进行打包时默认只把java文件打包进war,如果在非资源路径下,有配置文件,如mybits的mapper.xml文件,需要在maven里边指定一下,

怎么将maven项目打包成war包

问题:我在eclipse上能运行,然后我想将这个maven项目打包成war然后放到另外一台机子上(其实是手动放在tomcat的webapp目录中),提供外部访问.现在问题是,一直maven项目打包一直出错.请问大侠怎么将maven打包好?万分感谢 回答1:右键项目,选择Run As,再选择Maven build...,这时会弹出个新界面,在Goals里输入clean package,然后点击Run就行了,打包好的项目放在target文件夹下面.clean package是maven的一个命令,意