Maven本地JAR包安装

一、maven安装

在需要jar的项目的根目录执行下命令:

mvn install:install-file -DgroupId=com.baidu.boot -DartifactId=net-base-utils -Dversion=2.6.8 -Dfile=C:\Users\Desktop\net-base-utils-2.6.8-SNAPSHOT.jar -Dpackaging=jar -DgeneratePom=true
  1. DgroupId:是项目组织唯一的标识符,自己随便起名
  2. DartifactId:项目的唯一的标识符,自己可以随便起
  3. Dversion:项目版本
  4. Dfile:jar包路径(绝对路径)
  5. DgeneratePom:是否生成pom文件,ture:生成,false:不生成;执行成功后,在本地maven的仓库按照DgroupId路径查找就可以了。

二、本地项目中引入

1、在项目的resource目录下新建lib文件夹,然后将你本地的jar包copy到里面;

2、在maven的配置如下:

<dependencies>
        <dependency>
            <groupId>com.baidu.boot</groupId>
            <artifactId>net-base-utils</artifactId>
            <version>2.6.8</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/net-base-utils-2.6.8.jar</systemPath>
        </dependency>
</dependencies>

3、system 问题

maven 的的scope属性可以为system,然后通过system来引用,不过不推荐使用system,因为一个项目的pom.xml如果使用了scope为system的depend后,会导致传递依赖中断,即所有其他依赖本项目的项目都无法传递依赖了。

比如:假设A项目依赖了m.jar, n.jar, x.jar, 然后我们把A项目打包成了a.jar, 如果此时B项目依赖了A项目,则B项目通常自然就已经默认传递依赖了m.jar, n.jar, x.jar。

但是如果A项目的pom.xml文件出现了scope为system的depend,则B项目就只能依赖a.jar, 将无法传递依赖m.jar, n.jar, x.jar;

三、最终推荐使用

推荐使用第一种方法来引用外部的jar包。

举报
评论 0