导语:在Maven项目里,我们经常需要导入jar包依赖,正常情况下我们只需要到Maven仓库(https://mvnrepository.com/)或阿里云仓库(http://maven.aliyun.com/nexus/content/groups/public)里去搜索对应资源,修改pom.xml
文件即可。但是也会出现一些资源在Maven仓库是搜索不到的,这时候就需要引入外部依赖。
一、通过dependency引入
1.1. jar包放置,建造lib目录
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,并回车
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. 添加成功
出现【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.问题描述
由上图可知,我已经【BUILD SUCCESS】导入成功了,但是路径不对,我D 盘的Maven仓库是空的,而截图显示的是导入到C 盘的 .m2 默认路径下了。
由 【mvn install】命令可知,在导入命令中,有jar “来”的路径,没有“去”的路径,所以和命令无关,那就去找Maven 本身的设置文件
3.2. 安装位置设置
在Maven 安装路径下的 /conf/settings.xml 文件中,找到下面这部分设置
将【localRepository】标签提出并解开,示例代码如下图所示
指定到镜像这一层就行。我个人的镜像路径如下所示,参考者改为自己的路径就行
修改后,重新导入jar如下图所示
提醒:Settings文件可以修改,只要按照它的提示就行,但是在任何配置中,不要使用中文,以免配置文件读取失败,修改后一定要保存,不保存没用的。