maven将本地jar包添加到本地仓库
maven将本地jar包添加到本地仓库
引言:
之前一直认为jar包分为第三方jar包和maven的jar包,现在想想是多么的可笑。其实都是jar包,并没有第三方jar包之分,第三方jar包这个说法是在,你需要用到jar包里的接口的时候才说的。
比如说,你在做微信支付,那么支付功能不是自己做的,所以这时候你就需要调用一个支付接口,然而这个接口在一个jar包内,这个时候可以说引入第三方jar包,或者说第三方sdk。
正题: 为什么我之前会认为jar包有第三方和mavenjar包呢?
那是因为我之前有一次直接将jar包放在maven的本地仓库里,然后在项目的pom文件里引用,死活引用不到,我就认为可能不是maven的jar包(直接在pom文件下载的jar包)引起的。所以就自作主张给不是pom文件下载的jar包叫做第三方jar包。
现在才明白,原来直接将jar包放入maven的本地仓库里maven是识别不了的,maven作为包的管理工具那肯定是要让maven能够识别的jar包才可以让项目引用。
比对下maven本地仓库的两种jar包,一种是直接从网上下载下来放在仓库内的,另一种是从项目的pom文件下载的jar包。
如下图:
接下来,介绍一下如何将直接从网上下载的jar包通过maven的相关命令,让其到maven的本地仓库里
1、下载jar包
首先去maven的中心仓库下载一个ojdbc的jar包,下载地址见上图。再到我的本地maven仓库下看看有没有oracle开头的jar包文件,如下:
由图可见,并没有以oracle开头的文件夹。注意看中心仓库那张图片,该jar包的标签内容。如下:
<dependency>
<groupId>oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>1.4</version>
</dependency>
然后运行命令格式为:
mvn install:install-file -Dfile=jar包地址(最好不要出现中文路径) -DgroupId=<groupId>标签内的内容 -DartifactId=<artifactId>标签内的内容 -Dversion=<version>标签内的内容 -Dpackaging=jar
以上例子的命令为:
mvn install:install-file -Dfile=E:\document\ojdbc-1.4.jar -DgroupId=oracle -DartifactId=ojdbc -Dversion=1.4 -Dpackaging=jar
终端运行效果:
本地maven仓库:
可见,多了一个oracle文件夹,打开到jar包所在路径,如下:
可见还是生成了配置文件,但是并不是4个,所以,这配置文件的个数不一定,但是肯定要有配置文件的存在,以供maven工具进行识别该jar包的存在。这个时候,这样的jar包和通过项目的pom文件所下载的jar包是一模一样的,没什么不同之处。