java~使用自己的maven本地仓库
程序员文章站
2022-04-14 21:49:53
本地仓库 主要是一种缓存,当你使用远程仓库中下载组件后,它下一次会优先从本地进行加载,一般位于 目录下,我们自己也可以建立公用的包,把包发布到本地仓库,自己在其它项目里直接可以用,当然如果希望在任务地方都使用自己的包,需要把它发布到远程仓库中。 像nuget,npm一样maven也是仓库 Jar的m ......
本地仓库
主要是一种缓存,当你使用远程仓库中下载组件后,它下一次会优先从本地进行加载,一般位于USER_HOME/.m2
目录下,我们自己也可以建立公用的包,把包发布到本地仓库,自己在其它项目里直接可以用,当然如果希望在任务地方都使用自己的包,需要把它发布到远程仓库中。
像nuget,npm一样maven也是仓库
- Jar的maven配置
<dependency> <groupId>javalindday</groupId> <artifactId>jpaDemo</artifactId> <version>0.0.1</version> </dependency>
- 将Jar包安装到本地仓库
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到私有仓库
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 文件下定义
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地址。
推荐阅读
-
修改maven本地仓库路径的方法
-
【IntelliJ IDEA】Maven构建自己的第一个Java后台的方法
-
Android studio怎么使用git? 使用git查看本地与远程仓库文件的教程
-
Android studio怎么使用git? 使用git查看本地与远程仓库文件的教程
-
Java全栈程序员之07:IDEA中使用MAVEN构架生产级的Web项目
-
Docker搭建自己的本地镜像仓库的步骤
-
Gradle使用Maven仓库的方法
-
将本地的jar包打到Maven的仓库中实例
-
IDEA,maven运行时缺少junit啊,servlet啊各种包,但是自己设置的仓库中明明有啊,这种问题如何解决
-
java~gradle构建公用包并上传到仓库~使用私有仓库的包