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

Posted

tags:

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

原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库。但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载jar包,如果还没有就报错。考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。比如我下载了lucene-queryparser- . . .jar怎么添加到本地仓库呢?步骤: .cmd命令进入该jar包所在路径 .执行命令mvninstall:install-file-Dfile=lucene-queryparser- . . .jar-DgroupId=org.apache.lucene-DartifactId=lucene-queryparser-Dversion= . . -Dpackaging=jar(不同的jar包相对应替换对应部分)另外我尝试了下面的方法,发现不行:直接写一个空的pom,里头包含对所需要jar包的依赖,通过这种方式希望将jar包下载到本地仓库。但是应用代码中没用到,maven命令没有下载这个jar包到本地仓库。补充,-DgroupId和-DartifactId的作用其实是指定了这个jar包的安装在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如:mvninstall:install-file-Dfile=freemarker- . . .jar-DgroupId=freemarker-DartifactId=freemarker-Dversion= . . -Dpackaging=jar就是安装到了repository\freemarker\freemarker\ . . 目录下,如果在dependency的依赖里也这么写的话,就可以到对应的目录去寻找。对于maven中存在classifier的,例如org.apache.hadoophadoop-hdfs . . tests就加一个-D参数就可以了,如下:mvninstall:install-file-Dfile=hadoop-hdfs- . . -tests.jar-DgroupId=org.apache.hadoop-DartifactId=hadoop-hdfs-Dversion= . . -Dclassifier=tests-Dpackaging=jar 参考技术A maven没用用过,参考eclipse的jar包用鼠标拖动放入文件夹行不?直接复制,黏贴应该也行吧

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

【**前情提要**】在日常开发过程中,我们总是不可避免的需要依赖某些不在中央仓库,同时也不在本地仓库中的jar包,这是我们就需要使用命令行将需要导入本地仓库中的jar包导入本地仓库,使得项目依赖本地仓库中的代码。 ----- 例如我们需要将下面pom文件中的jar包引入本地仓库 ```xml com.eelve todo 1.0 ``` ---- 导入命令 ```xml mvn install:install-file -Dfile=D:\\link\\lib\\todo-1.0.jar -DgroupId=com.eelve -DartifactId=todo -Dversion=1.0 -Dpackaging=jar ``` ----- 命令详解 ```xml -Dfile:jar包所在本地的具体路径 -DgroupId:项目组织唯一的标识符,实际对应JAVA的包的结构 -DartifactId:项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称 -Dversion:版本号 -Dpackaging:打包的类型 ``` ---- 结果示例 ![导入jar包结果](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810225346929-1365129203.png) --- 【小贴士】maven的仓库分类 在maven中,仓库可以分为:本地仓库、远程仓库。 远程仓库可以分为:中央仓库、私服仓库。 中央仓库是maven官方指定的仓库,可以理解为“寻找的最后一站”。 私服仓库可以是自己建的,也可以是其它主体建的(比如aliyun的maven仓库,jboss的maven仓库等)。 私服可以分为:全局应用的私服仓库、应用到项目自身的私服仓库。 maven寻找得顺序大致可以理解为: 1,在本地仓库中寻找,如果没有则进入下一步。 2,在全局应用的私服仓库中寻找,如果没有则进入下一步。 3,在项目自身的私服仓库中寻找,如果没有则进入下一步。 4,在中央仓库中寻找,如果没有则终止寻找。 补充: 1,如果在找寻的过程中,如果发现该仓库有镜像设置,则用镜像的地址代替。 2,如果仓库的id设置成“central”,则该配置会覆盖maven默认的中央仓库配置。 以上,通过实践得来的,可能不全面,仅当参考

以上是关于如何批量更新本地仓库中的jar包的主要内容,如果未能解决你的问题,请参考以下文章

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

怎样从maven的中央仓库中更新jar包到本地仓库

Maven依赖的是本地工程还是仓库jar包

批量删除Maven本地仓库中未下载完成的jar包(不完整的jar包)

如何利用maven向本地仓库导入官网没有的jar包

如何上传自己的jar包到私有仓库