zoukankan      html  css  js  c++  java
  • java~使用自己的maven本地仓库

    本地仓库

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

  • 相关阅读:
    Android渐变GradientDrawable叠加组合环ring
    72.spring boot讨论群【从零开始学Spring Boot】
    71.mybatis 如何获取插入的id【从零开始学Spring Boot】
    Android GradientDrawable的XML实现
    服务器端架构及实战 — C#分享
    70.打印所有Spring boot载入的bean【从零开始学Spring Boot】
    69. JPA实体Bean的生命周期【从零开始学Spring Boot】
    Android版网易云音乐唱片机唱片磁盘旋转及唱片机机械臂动画关键代码实现思路
    服务器架构及实战(架构篇)- PHP建站
    创建MyOffice项目
  • 原文地址:https://www.cnblogs.com/lori/p/9342413.html
Copyright © 2011-2022 走看看