如何利用maven向本地仓库导入官网没有的jar包
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用maven向本地仓库导入官网没有的jar包相关的知识,希望对你有一定的参考价值。
原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库。但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载jar包,如果还没有就报错。考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。
比如我下载了
lucene-queryparser-4.6.1.jar
怎么添加到本地仓库呢?
步骤:
1.cmd命令进入该jar包所在路径
2.执行命令
mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar
(不同的jar包相对应替换对应部分)
另外我尝试了下面的方法,发现不行:
直接写一个空的pom,里头包含对所需要jar包的依赖,通过这种方式希望将jar包下载到本地仓库。但是应用代码中没用到,maven命令没有下载这个jar包到本地仓库。
补充,-DgroupId和-DartifactId的作用其实是指定了这个jar包的安装在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如:
mvn install:install-file -Dfile=freemarker-2.3.13.jar -DgroupId=freemarker -DartifactId=freemarker -Dversion=2.3.13 -Dpackaging=jar
就是安装到了repository\freemarker\freemarker\2.3.13目录下,如果在dependency的依赖里也这么写的话,就可以到对应的目录去寻找。
对于maven中存在classifier的,例如
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.2.0</version>
<classifier>tests</classifier>
</dependency> 参考技术A mvn install:install-file -DgroupId=<groupId>
-DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar
-Dfile=<myfile.jar>
安装之后,就可以添加依赖了
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Maven——向Maven本地仓库中手动添加依赖包(ps:ojdbc.jar)
maven中央仓库中并非包含所有现有的依赖包和插件,部分依赖包和插件需要手动地进行添加(如ojdbc.jar)
一、添加JDK系统环境变量(maven是基于Java的,可参考:https://www.runoob.com/w3cnote/windows10-java-setup.html)
二、添加mvn命令到路径(同1理进行配置)
三、进入cmd,输入mvn命令:mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc -Dversion=6 -Dpackaging=jar -Dfile=D:\\pluginpath\\thirdParty\\Third_Party_Package\\JDBC\\ojdbc6\\ojdbc6.jar
四、添加完成(BULD SUCCESS)
五、查看本地仓库(已完成)
以上是关于如何利用maven向本地仓库导入官网没有的jar包的主要内容,如果未能解决你的问题,请参考以下文章