Maven项目外部jar包导入的实现示例

来自:网络
时间:2024-09-10
阅读:

导语:在Maven项目里,我们经常需要导入jar包依赖,正常情况下我们只需要到Maven仓库(https://mvnrepository.com/)或阿里云仓库(http://maven.aliyun.com/nexus/content/groups/public)里去搜索对应资源,修改pom.xml文件即可。但是也会出现一些资源在Maven仓库是搜索不到的,这时候就需要引入外部依赖。

一、通过dependency引入

1.1. jar包放置,建造lib目录

Maven项目外部jar包导入的实现示例

1.2. pom.xml文件

<dependency>
    <groupId>zip4j</groupId>
    <artifactId>zip4j</artifactId>
    <version>1.3.2</version>
    <!--system,类似provided,需要显式提供依赖的jar以后,Maven就不会在Repository中查找它-->
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/lib/zip4j-1.3.2.jar</systemPath>
</dependency>

注:project.basedir 是项目的根目录,<systemPath>标签内是jar包放置的路径,标签内容与jar包实际所在位置保持一致即可。

二、将外部jar打入本地maven仓库

2.1. 将jar包放入某不含中文的路径下 ,例如:E:\file\zip4j-1.3.2.jar

2.2. 在jar包所在目录栏中输入cmd,并回车

Maven项目外部jar包导入的实现示例

2.3. 在命令行输入操作命令

mvn install:install-file -DgroupId=zip4j -DartifactId=zip4j -Dversion=1.3.2 -Dpackaging=jar -Dfile=E:\file\zip4j-1.3.2.jar

参数解释:

file : 为你jar包所在的路径(尽量简单并且不要含中文)

groupId : 为grouId号,与组成唯一识别你jar包的坐标,当不在公共资源jar包中, 自己自定义的jar时,可以自定义groupId号。
格式:a.b.c

artifactId : 为artifactId号,与组成唯一识别你jar包的坐标,当不在公共资源jar包中,自己自定义的jar时,可以自定义artifactId号。
格式: a-b-c

version : jar包版本号,也可以自定义

packaging : 包的后缀,一般都是jar 

注意:参数顺序可以调整

2.4. 添加成功

Maven项目外部jar包导入的实现示例

出现【BUILD SUCCESS】 说明已经导入成功了,此时可以刷新 项目的Maven ,检测是否可以正常使用。

2.5. pom.xml 导入

<dependency>
    <groupId>zip4j</groupId>
    <artifactId>zip4j</artifactId>
    <version>1.3.2</version>
</dependency>

结语:除了以上两种,还有通过新建lib包 ---> 右键 ---> Add as Library .. ---> 确定。

但这种方式只适用于本地练习。打包后放服务器上会报错。

三、 mvn install设置默认安装路径

3.1.问题描述 

Maven项目外部jar包导入的实现示例

由上图可知,我已经【BUILD SUCCESS】导入成功了,但是路径不对,我D 盘的Maven仓库是空的,而截图显示的是导入到C 盘的 .m2 默认路径下了。

由 【mvn install】命令可知,在导入命令中,有jar “来”的路径,没有“去”的路径,所以和命令无关,那就去找Maven 本身的设置文件  

3.2. 安装位置设置

在Maven 安装路径下的  /conf/settings.xml  文件中,找到下面这部分设置

Maven项目外部jar包导入的实现示例

将【localRepository】标签提出并解开,示例代码如下图所示

Maven项目外部jar包导入的实现示例

指定到镜像这一层就行。我个人的镜像路径如下所示,参考者改为自己的路径就行

Maven项目外部jar包导入的实现示例

修改后,重新导入jar如下图所示

Maven项目外部jar包导入的实现示例

提醒:Settings文件可以修改,只要按照它的提示就行,但是在任何配置中,不要使用中文,以免配置文件读取失败,修改后一定要保存,不保存没用的。

返回顶部
顶部