zoukankan      html  css  js  c++  java
  • maven中的distributionManagement的作用

    mvn install  会将项目生成的构件安装到本地Maven仓库,
    mvn deploy
     用来将项目生成的构件分发到远程Maven仓库。
    本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。
    我们需要配置POM的distributionManagement来指定Maven分发构件的位置,如下:
     
    <project>    
      ...    
      <distributionManagement>    
        <repository>    
          <id>nexus-releases</id>    
          <name>Nexus Release Repository</name>    
          <url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>    
        </repository>    
        <snapshotRepository>    
          <id>nexus-snapshots</id>    
          <name>Nexus Snapshot Repository</name>    
          <url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>    
        </snapshotRepository>    
      </distributionManagement>    
      ...    
    </project>    
    Maven区别对待release版本的构件和snapshot版本的构件,snapshot为开发过程中的版本,实时,但不稳定,release版本则比较稳定。Maven会根据你项目的版本来判断将构件分发到哪个仓库。
    一般来说,分发构件到远程仓库需要认证,如果你没有配置任何认证信息,你往往会得到401错误。这个时候,如下在settings.xml中配置认证信息:
    <settings>    
      ...    
      <servers>    
        <server>    
          <id>nexus-releases</id>    
          <username>admin</username>    
          <password>admin123</password>    
        </server>    
        <server>    
          <id>nexus-snapshots</id>    
          <username>admin</username>    
          <password>admin123</password>    
        </server>      
      </servers>    
      ...    
    </settings>  

    需要注意的是,settings.xml中server元素下id的值必须与POM中repository或snapshotRepository下id的值完全一致。将认证信息放到settings下而非POM中,是因为POM往往是它人可见的,而settings.xml是本地的。

    mvn install  会将项目生成的构件安装到本地Maven仓库,
    mvn deploy
     用来将项目生成的构件分发到远程Maven仓库。
    本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。
    我们需要配置POM的distributionManagement来指定Maven分发构件的位置,如下:
    Xml代码 
    1. <project>    
    2.   ...    
    3.   <distributionManagement>    
    4.     <repository>    
    5.       <id>nexus-releases</id>    
    6.       <name>Nexus Release Repository</name>    
    7.       <url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>    
    8.     </repository>    
    9.     <snapshotRepository>    
    10.       <id>nexus-snapshots</id>    
    11.       <name>Nexus Snapshot Repository</name>    
    12.       <url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>    
    13.     </snapshotRepository>    
    14.   </distributionManagement>    
    15.   ...    
    16. </project>    
    Maven区别对待release版本的构件和snapshot版本的构件,snapshot为开发过程中的版本,实时,但不稳定,release版本则比较稳定。Maven会根据你项目的版本来判断将构件分发到哪个仓库。
    一般来说,分发构件到远程仓库需要认证,如果你没有配置任何认证信息,你往往会得到401错误。这个时候,如下在settings.xml中配置认证信息:
    Xml代码 
    1. <settings>    
    2.   ...    
    3.   <servers>    
    4.     <server>    
    5.       <id>nexus-releases</id>    
    6.       <username>admin</username>    
    7.       <password>admin123</password>    
    8.     </server>    
    9.     <server>    
    10.       <id>nexus-snapshots</id>    
    11.       <username>admin</username>    
    12.       <password>admin123</password>    
    13.     </server>      
    14.   </servers>    
    15.   ...    
    16. </settings>  
    需要注意的是,settings.xml中server元素下id的值必须与POM中repository或snapshotRepository下id的值完全一致。将认证信息放到settings下而非POM中,是因为POM往往是它人可见的,而settings.xml是本地的。
  • 相关阅读:
    Atitit 查找算法 艾提拉大总结 目录 1. 查找算法分类 1 1.1. 简单查找算法之折半查找、插值查找、斐波那契查找 1 1.2. 按照数据结构查找法分类 hash 表 1 2. 第8章查找
    Atitit 数据结构与常见文件元数据结构 目录 1. 分类 内部数据结构与外部存储数据结构 1 2. 编程语言内部数据结构 (堆栈 树 图等 1 2.1. 数据结构 (集合,列表,tree,map
    关于“王福朋详解petshop4.0系列视频教程”的开放下载问题
    《王福朋petshop4.0视频教程》新浪视频地址
    《petshop4.0视频教程》在线看
    《微软petshop4.0视频教程》 开放下载了!!!
    看马克扎克伯格创建facebook——电影《社交网络》观后感
    《王福朋petshop4.0视频教程》新浪视频(高清)
    当ListView控件在后台绑定数据源时,用DataPager控件分页需要注意的问题
    《王福朋petshop4.0视频教程》下载通知
  • 原文地址:https://www.cnblogs.com/pypua/p/13679093.html
Copyright © 2011-2022 走看看