Maven引用自定义jar包
概述
在项目中用了一个在Maven中央仓库没有的第三方jar包,Maven中该如何依赖呢?
如果引入不好,启动项目时会报:
java.lang.ClassNotFoundException异常
导入jar
在项目src目录同级的目录下,新建lib目录,然后把jar包拖到这个目录里面
在pom中引入依赖
<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on-154</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${pom.basedir}/lib/bcprov-jdk15on-154.jar</systemPath> </dependency>
- version是自定义的
- groupId是根据jar包种的包层次写的
- artifactId我直接用的jar包的名称
加入maven-dependency-plugin插件
<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>
打包后,在打好的jar包中,到/WEB-INF/lib目录,可以看到bcprov-jdk15on-154.jar 已经被打进去了。
环境说明
- maven版本:Apache Maven 3.3.9
- Java version: 1.7.0_80
- OS name: “mac os x”, version: “10.13.3”
自定义jar包发布到自己指定maven本地仓库
使用maven构建项目需要在项目中引入自定义的一些包,也像maven一样在工程的pom.xml中引入相应的坐标,这时候我们就要自己把包上传到本地仓库,以下就来演示如何操作:
①我要上传的jar包为:ipdatabase-1.0.jar
②找到本地安装maven
的位置的bin目录输入cmd进入到命令行 输入 如下面命令,敲击回车开始执行:
mvn install:install-file -Dfile=C:UserszhangsfDesktopipdatabase.jar -DgroupId=zhang.jar -DartifactId=ipdatabase -Dversion=1.0 -Dpackaging=jar
成功的标识
需要注意一点的就是需要在用户的.m2目录之下放置一份 setting.xml,不然就会将jar包打包到本地的默认仓库里面
③在项目中引用
<dependency> <groupId>zhang.jar</groupId> <artifactId>ipdatabase</artifactId> <version>1.0</version> </dependency>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/limenghua9112/article/details/79480364