如何将本地jar导入到maven的本地仓库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将本地jar导入到maven的本地仓库相关的知识,希望对你有一定的参考价值。

原则上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>

就加一个-D参数就可以了,如下:
mvn install:install-file -Dfile=hadoop-hdfs-2.2.0-tests.jar -DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs -Dversion=2.2.0 -Dclassifier=tests -Dpackaging=jar
参考技术A maven项目中,如果添加本地jar到项目(WEB-INF/lib 下面添加jar)在eclipse中可以引入jar,但是在maven编辑install时候会报找不到相关jar的错误
解决方案:在项目pom添加以下依赖
<!-- 引入本地jar -->
1234567<dependency> <groupId>com.jacob</groupId> <artifactId>jacob</artifactId> <version>1.7</version> <scope>system</scope> <systemPath>$basedir/src/main/webapp/WEB-INF/lib/jacob.jar</systemPath> //主要是本地jar地址 其他信息可以随意填写 </dependency>

IDEA中maven如何将jar包导入本地的maven库

第一步:将IKAnalyzer.jar包存放在一个文件夹中,比如mylib文件夹
第二步:建立一个IKAnalyzer.jar包相关的pom.xml文件,需要在pom.xml文件中定义其maven坐标及其相应的依赖代码即可,同样将pom文件存放在上述jar文件同一文件夹下;
第三步:打开CMD,进入到mylib文件夹,运行下面的命令:
mvn install:install-file \\
-Dfile=IKAnalyzer3.2.8.jar \\
-DgroupId=org.wltea.ik-analyzer \\
-DartifactId=ik-analyzer \\
-Dversion=3.2.8 \\
-Dpackaging=jar
参考技术A 一般maven有本地服务器的,maven代理服务器的管理人员加进去就行了。
自己在本地加的话,就失去了maven的意义了。本回答被提问者采纳
参考技术B mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3.0 -Dpackaging=jar -Dfile=D:\ojdbc6.jar

以上是关于如何将本地jar导入到maven的本地仓库的主要内容,如果未能解决你的问题,请参考以下文章

如何将jar包加入到Maven本地仓库

用命令将本地jar包导入到本地maven仓库

用命令将本地jar包导入到本地maven仓库

用命令将本地jar包导入到本地maven仓库

如何批量更新本地仓库中的jar包

项目添加外部jar依赖(本地仓库方式)