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

作者:张占岭 时间:2022-08-01 12:13:44 

本地仓库

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

来源:http://www.cnblogs.com/lori/p/9342413.html

标签:java,maven,本地仓库
0
投稿

猜你喜欢

  • Java实现几种常见排序算法代码

    2022-10-10 20:42:19
  • Android拍照或从图库选择图片并裁剪

    2023-07-01 08:21:45
  • OpenGL实现Bezier曲线的方法示例

    2023-06-30 05:06:22
  • java中String字符串删除空格的七种方式

    2023-03-11 05:54:24
  • Android保持屏幕常亮唤醒状态的方法

    2021-05-30 15:15:29
  • Java实现文本编译器

    2022-10-21 18:33:20
  • Java接口中尽量避免使用数组

    2022-07-06 23:24:14
  • Android中通过样式来去除app的头及界面全屏(备忘)的实现方法

    2023-07-30 00:03:23
  • 解决SpringBoot webSocket 资源无法加载、tomcat启动报错的问题

    2021-07-28 05:06:42
  • WinForm窗体间传值的方法

    2023-12-17 08:53:08
  • Android 仿支付宝中的余额宝收益进度条

    2022-11-23 03:58:33
  • 一个简单的Python名片管理系统

    2022-09-20 09:26:15
  • 关于Maven的使用,这些你都真的了解么

    2022-01-02 14:19:08
  • SpringCloud中Eureka的配置及使用讲解

    2022-04-19 19:16:28
  • 为什么Java开发需要配置环境变量

    2023-08-13 13:11:03
  • 详解Android v1、v2、v3签名(小结)

    2022-07-01 16:56:44
  • 使用Hibernate根据实体类自动生成表的方法

    2022-12-20 16:54:44
  • 浅谈Java中向上造型向下造型和接口回调中的问题

    2023-11-09 13:51:46
  • Flutter开发Mac桌面应用实现自动提取生成视频字幕文件

    2023-05-11 05:25:58
  • c# 开机启动项的小例子

    2022-11-30 02:16:43
  • asp之家 软件编程 m.aspxhome.com