服务器之家

服务器之家 > 正文

java如何使用自己的maven本地仓库详解

时间:2021-05-19 13:57     来源/作者:张占岭

本地仓库

主要是一种缓存,当你使用远程仓库中下载组件后,它下一次会优先从本地进行加载,一般位于user_home/.m2目录下,我们自己也可以建立公用的包,把包发布到本地仓库,自己在其它项目里直接可以用,当然如果希望在任务地方都使用自己的包,需要把它发布到远程仓库中。

像nuget,npm一样maven也是仓库

jar的maven配置

java" id="highlighter_512195">
?
1
2
3
4
5
<dependency>
<groupid>javalindday</groupid>
<artifactid>jpademo</artifactid>
<version>0.0.1</version>
</dependency>

将jar包安装到本地仓库

?
1
mvn install:install-file -dfile=/users/lind.zhang/github/jpademo/build/libs/jpademo-0.0.1.jar -dgroupid=javalindday -dartifactid=jpademo -dversion=0.0.1 -dpackaging=jar

dgroupid和dartifactid构成了该jar包在pom.xml的坐标, 对应依赖的dgroupid和dartifactid

dfile表示需要上传的jar包的绝对路径

dpackaging 为安装文件的种类

打包的结果

➜  jpademo git:(master) ✗mvn install:install-file -dfile=/users/lind.zhang/github/jpademo/build/libs/jpademo-0.0.1.jar -dgroupid=javalindday -dartifactid=japdemo -dversion=0.0.1 -dpackaging=jar        
[info] scanning for projects...
[info]
[info] ------------------< org.apache.maven:standalone-pom >-------------------
[info] building maven stub project (no pom) 1
[info] --------------------------------[ pom ]---------------------------------
[info]
[info] --- maven-install-plugin:2.4:install-file (default-cli) @ standalone-pom ---
[info] installing /users/lind.zhang/github/jpademo/build/libs/jpademo-0.0.1.jar to /users/lind.zhang/.m2/repository/javalindday/japdemo/0.0.1/japdemo-0.0.1.jar
[info] installing /var/folders/jg/yyzswj8j6pb5z7mtgyq3vx500000gn/t/mvninstall6617860076838629494.pom to /users/lind.zhang/.m2/repository/javalindday/japdemo/0.0.1/japdemo-0.0.1.pom
[info] ------------------------------------------------------------------------
[info] build success
[info] ------------------------------------------------------------------------
[info] total time: 0.497 s
[info] finished at: 2018-07-20t16:04:37+08:00
[info] ------------------------------------------------------------------------
➜  jpademo git:(master) ✗

上传jar到私有仓库

?
1
mvn deploy:deploy-file -dgroupid=javalindday -dartifactid=jpademo -dversion=0.0.1 -dpackaging=jar -dfile=/users/lind.zhang/github/jpademo/build/libs/jpademo-0.0.1.jar -durl=http://ip:port/nexus/content/repositories/thirdparty/ -drepositoryid=thirdparty

dgroupid和dartifactid构成了该jar包在pom.xml的坐标, 对应依赖的dgroupid和dartifactid

dfile表示需要上传的jar包的绝对路径

durl私服上仓库的url精确地址(打开nexus左侧repositories菜单,可以看到该路径)

drepositoryid服务器的表示id,在nexus的configuration可以看到

使用本地缓存

从maven切换到gradle,原有的几g的本地缓存库当然想继续使用。

如果想使用maven本地缓存,需要定义:build.gradle 文件下定义

?
1
2
3
4
5
build.gradle
 
repositories {
 mavenlocal()
}

gradle使用与maven相同的策略去定位本地maven缓存的位置。如果在settings.xml中定义了本地maven仓库的地址,则使用该地址。

在user_home/.m2下的settings.xml文件中的配置会覆盖存放在m2_home/conf下的settings.xml文件中的配置。

如果没有settings.xml配置文件,gradle会使用默认的user_home/.m2/repository地址。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://www.cnblogs.com/lori/p/9342413.html

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部