本地仓库

主要是一种缓存,当你使用远程仓库中下载组件后,它下一次会优先从本地进行加载,一般位于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地址。

java~使用自己的maven本地仓库的更多相关文章

  1. maven 本地仓库和远程仓库

    在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方) 任何的 ...

  2. nexus 搭建maven本地仓库

    使用Nexus搭建Maven本地仓库   阅读目录 序 Nexus 序 在工作中可能存在有些开发机器不能上网,大量的机器获取jar包会导致公司网络很慢,还有时候公司会自己发布自己的项目版本,其他的项目 ...

  3. 记 Maven 本地仓库埋坑之依赖包为何不能用

    记一次 Maven 本地仓库埋坑之 Verifying Availability 背景 某 Java 后端项目使用 maven 构建,因为某些原因,某些依赖库下载不了,直接找其它人索要了他电脑上的 m ...

  4. 本地jar包安装Maven本地仓库

    下载jar包 如果本地存在,可以忽略. 本地安装命令 mvn install:install-file -Dfile=D:\Environment\Java\JDK\lib\tools.jar -Dg ...

  5. Maven本地仓库及远程仓库

    转载自:http://blog.csdn.net/wanghantong/article/details/36427433 Maven 仓库的分类: maven的仓库只有两大类:1.本地仓库 2.远程 ...

  6. maven本地仓库.m2文件夹路径讲解

    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Depen ...

  7. 配置maven和maven本地仓库

    l配置maven: 下载maven 网站: http://maven.apache.org/download.cgi 下载解压,在配置maven 右键本地电脑   选择 属性  在选择高级环境变量在选 ...

  8. maven 本地仓库无法更新到最新版本的jar包

    maven 本地仓库无法更新到最新版本的jar包 描述:maven 本地仓库无法更新最新版的jar包导致项目一直报错 解决:去jar包版本所在目录,删除掉所有红框内文件,重新用ide导入

  9. 如何将 jar 包导入Maven 本地仓库

    案例:oracle jar包由于在maven 远程仓库中找不到,需要先将oracle jar 文件下载到本地,然后导入maven本地仓库,就可以通过 pom 进行依赖 例如:下载后的 jar 地址 D ...

随机推荐

  1. public_handers.go

    package],,) ],,) ]:],,);:],],,) ) ]],,) )) ,) ))         if etagMatch {             w.WriteHeader(ht ...

  2. BZOJ_1070_[SCOI2007]修车_费用流

    BZOJ_1070_[SCOI2007]修车_费用流 Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同 的车进行维修所用的时间 ...

  3. Java 使用PDFBox提取PDF文件中的图片

    今天做PDF文件解析,遇到一个需求:提取文件中的图片并保存.使用的是流行的apache开源jar包pdfbox, 但还是遇到坑了,比如pdfbox版本太高或太低都不能用!!这个包竟然没有很好地做好兼容 ...

  4. golang 中 string 转换 []byte 的一道笔试题

    背景 去面试的时候遇到一道和 string 相关的题目,记录一下用到的知识点.题目如下: s:="123" ps:=&s b:=[]byte(s) pb:=&b s ...

  5. mysql 使用Navicat Lite如何打开‘查询编辑器’,使用sql语句对表进行操作!

    今天第一次使用mysql,尽然连查询编辑器都找不到,研究了半天,询问了下大牛,才搞出来,准备写下来,后面方面忘记了有查找的地方,哈哈哈~~ 如何打开"查询编辑器",使用sql语句进 ...

  6. DB2数据库操作XMl字段

    1.xml查询语句 ① 查询xml中的单个节点内容 select TM_PRM_OBJECT.ORG , TM_PRM_OBJECT.PARAM_CLASS , TM_PRM_OBJECT.PARAM ...

  7. 为啥程序会有bug?

    如果这是第二次看到我的文章,欢迎右侧扫码订阅我哟~ 

  8. 并发的核心:CAS 是什么?Java8是如何优化 CAS 的?

    大家可能都听说说 Java 中的并发包,如果想要读懂 Java 中的并发包,其核心就是要先读懂 CAS 机制,因为 CAS 可以说是并发包的底层实现原理. 今天就带大家读懂 CAS 是如何保证操作的原 ...

  9. 用Python学分析 - 正态分布

    正态分布(Normal Distribution) 1.正态分布是一种连续分布,其函数可以在实线上的任何地方取值. 2.正态分布由两个参数描述:分布的平均值μ和方差σ2 . 3.正态分布的取值可以从负 ...

  10. MySQL 复制 - 性能与扩展性的基石 3:常见问题及解决方案

    主备复制过程中有很大可能会出现各种问题,接下来我们就讨论一些比较普遍的问题,以及当遇到这些问题时,如何解决或者预防问题发生. 1 数据损坏或丢失 问题描述:服务器崩溃.断电.磁盘损坏.内存或网络错误等 ...