Maven 构建项目时,我们有时候项目依赖外部的JAR(这些包在Maven主仓库是找不到的),为了编译项目,我们需要引用本地的JAR包
一、maven引用本地jar包
<dependency>
<groupId>yyl.demo</groupId>
<artifactId>base</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/demo-base.jar</systemPath>
</dependency>
其中 groupId、artifactId 和 version 可以随便填写的,scope填写为为system,systemPath是JAR包的地址。${basedir} 变量是项目根目录。
Scope(作用域),它表示该构件包在什么时候起作用。
如果使用 system范围,在项目编译时和测试时候有效,但是运行时会缺少这个包。 (例如:system范围的jar包不会打到war包中)。
解决这个问题的方法是将,本地的JAR包安装到本地仓库中。
二、将本地jar包安装到本地仓库
命令格式:
mvn install:install-file
-Dfile=JAR所存放的地址
-DgroupId=JAR所属的Group
-DartifactId=JAR项目名名称
-Dversion=版本号
-Dpackaging=此包的打包形式
-DgeneratePom=true
例如:
mvn install:install-file -Dfile=D:/jar/demo-base.jar -DgroupId=yyl.demo -DartifactId=base -Dversion=1.0 -Dpackaging=jar
将jar包添加到本地仓库之后,我们就可以使用默认的方式添加依赖了:
<dependency>
<groupId>yyl.demo</groupId>
<artifactId>base</artifactId>
<version>1.0</version>
</dependency>