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包。

如下图:

 


Image.png

 

接下来,介绍一下如何将直接从网上下载的jar包通过maven的相关命令,让其到maven的本地仓库里

1、下载jar包

 


1596531987959-Image.png

 

首先去maven的中心仓库下载一个ojdbc的jar包,下载地址见上图。再到我的本地maven仓库下看看有没有oracle开头的jar包文件,如下:

 


1596531987960-Image.png

 

由图可见,并没有以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

终端运行效果:

 


1596531987961-Image.png

 

本地maven仓库:

可见,多了一个oracle文件夹,打开到jar包所在路径,如下:

 


1596531987963-Image.png

 

可见还是生成了配置文件,但是并不是4个,所以,这配置文件的个数不一定,但是肯定要有配置文件的存在,以供maven工具进行识别该jar包的存在。这个时候,这样的jar包和通过项目的pom文件所下载的jar包是一模一样的,没什么不同之处。

posted @ 2020-08-04 17:06  林就远  阅读(4182)  评论(0编辑  收藏  举报