Maven引入第三方jar包
适用场景:引入公司内部开发的jar包(第三方编写的工具类的压缩包),这种在maven仓库和阿里云仓库是找不到的.这样在pom中引入依赖的时候没办法通过pom下载到本地,所以此时需要解决maven中引入jar包的问题.
三种解决方法(自Maven官网)
译文
不幸的是,有时无法从中央Maven存储库下载项目。例如,一个项目可能依赖于一个具有封闭源代码许可证的jar,该许可证阻止了它位于中央存储库中。有三种方法可以处理这种情况。
1. 方法一:
使用install插件在本地安装依赖项。该方法是最简单的推荐方法。请注意,仍然需要一个地址,只有这次您使用命令行,安装插件才会使用给定的地址为您创建一个POM。
命令示例
mvn install:install-file -Dfile=E:\portal-api-1.5-SNAPSHOT.jar -DgroupId=com.meiya -DartifactId=portal -Dversion = 1.5 -Dpackaging=jar
//以下释义:
-Dfile=jar包路径xxxx.jar
-DgroupId=根目录文件夹 外层
-DartifactId=子目录文件夹 里层
-Dversion = 依赖对应的版本号
-Dpackaging =打包类型
命令运行成功后,本地仓库中就会生成对应的依赖包
然后pom中正常引入本地依赖
<dependency>
<groupId>com.meiya</groupId>
<artifactId>portal</artifactId>
<version>1.5</version>
</dependency>
2. 方法二:
创建您自己的存储库并将其部署到那里。对于具有Intranet的公司而言,这是一种最受欢迎的方法,并且需要能够使所有人保持同步。有一个称为Maven的目标deploy:deploy-file,与install:install-file目标类似(有关更多信息,请阅读插件的目标页面)。
3.方法三:
将依赖关系范围设置为system并定义一个systemPath。但是,不建议这样做。解释如下
译文
systemPath:仅当依赖范围为system时使用。否则,如果设置了此元素,则生成将失败。路径必须是绝对路径,因此建议使用属性来指定特定于计算机的路径(有关下面属性的详细信息),例如${java.home网站}/lib。由于假定系统范围依赖项是预先安装的,Maven不会检查项目的存储库,而是检查以确保文件存在。如果没有,Maven将使构建失败,并建议您手动下载并安装它。
使用示例
先将要引入的jar包放入工程的lib目录下,然后按照下面的路径引入,即可正常使用
<dependency>
<groupId>com.meiya</groupId>
<artifactId>portal</artifactId>
<version>1.5</version>
<scope>system</scope>
<systemPath>${basedir}/lib/portal-api-1.5-SNAPSHOT.jar</systemPath>
</dependency>
温馨提示: 方法一三都是可以正常使用的,二的话没有使用过,不发表意见