分发构件至远程仓库
mvn install 会将项目生成的构件安装到本地Maven仓库,mvn deploy 用来将项目生成的构件分发到远程Maven仓库。本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。
我们需要配置POM的distributionManagement来指定Maven分发构件的位置,如下:

Maven项目的POM中,环境配置<distributionManagement>负责管理构件的发布。

1.<distributionManagement>的基本配置

<distributionManagement>  ...  <downloadUrl>http://jcat.ericsson.org/my-project</downloadUrl>  <status>deployed</status>
</distributionManagement>  

说明:

  • downloadUrl,一个URL,其他Maven项目可以通过该URL下载并引用当前Maven项目的构件。注意区别本文下面的<repository>中的URL,<repository>中的URL给出了当前Maven项目的构件的发布URL。
  • status,当前Maven项目的状态,可用的状态如下所示。注意,该值是由Maven自动设置,永远不要人工设置。
    • none,未指明状态,默认值
    • converted,该Maven项目的构件已经被转换为兼容Maven 2
    • partner,该Maven项目的构件保持与另一个库的Maven版本一致
    • deployed,该Maven项目的构件是通过Maven 2或Maven 3发布的,最常用的值
    • verified,该Maven项目的构件已经被验证过

2.<distributionManagement>的<repository>配置

给出Maven部署当前项目的构件到远程库时,关于远程库的配置。示例如下:

<distributionManagement>  <repository>  <uniqueVersion>false</uniqueVersion>  <id>corp1</id>  <name>Corporate Repository</name>  <url>scp://repo/maven2</url>  <layout>default</layout>  </repository>  <snapshotRepository>  <uniqueVersion>true</uniqueVersion>  <id>propSnap</id>  <name>Propellors Snapshots</name>  <url>sftp://propellers.net/maven</url>  <layout>legacy</layout>  </snapshotRepository>  ...
</distributionManagement>  

具体配置参数,参考前文。

3. <distributionManagement>的<site>配置

除了部署当前Maven项目的构件,还可以部署当前Maven项目的网站和文档。示例如下:

<distributionManagement>  ...  <site>  <id>mojo.website</id>  <name>Mojo Website</name>  <url>scp://beaver.codehaus.org/home/projects/mojo/public_html/</url>  </site>  ...
</distributionManagement>  

这里的配置参数与<repository>中的对应配置参数一致。

4. <distributionManagement>的<relocation>配置

随着一个Maven项目的发展壮大,该Maven项目的构件可能需要重新发布到新的库。<relocation>可以将当前Maven项目以新的构件的形式发布到另一个库。示例如下:

<distributionManagement>  ...  <relocation>  <groupId>org.apache</groupId>  <artifactId>my-project</artifactId>  <version>1.0</version>  <message>We have moved the Project under Apache</message>  </relocation>  ...
</distributionManagement>  

转:http://www.cnblogs.com/panxuejun/tag/maven/

转载于:https://www.cnblogs.com/UniqueColor/p/7805789.html

Maven最佳实践-distributionManagement相关推荐

  1. Maven最佳实践:版本管理

    Maven最佳实践:版本管理 什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了 ...

  2. Maven最佳实践:版本管理【转】

    什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基本用 ...

  3. Maven最佳实践:版本管理 SNAPSHOT

    Maven最佳实践:版本管理 博客分类: Maven maven 配置管理 项目管理 SVN subversion  什么是版本管理 首先,这里说的版本管理(version management)不是 ...

  4. Maven学习(十八)-- Maven最佳实践:版本管理

    找到了一篇博客,很多啊,是讲Maven中的版本管理的,很好,分享一下, 原文作者:juvenshun 原文地址:http://juvenshun.iteye.com/blog/376422 ----- ...

  5. Maven最佳实践:划分模块

    所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块,multi-module)相互关联.那么,为什么要这么做呢?我们明明在开发一 ...

  6. Maven最佳实践 划分模块 配置多模块项目 pom modules

    所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块,multi-module)相互关联.那么,为什么要这么做呢?我们明明在开发一 ...

  7. maven依赖最佳实践_Maven最佳实践

    maven依赖最佳实践 尽管Maven提供了"配置之上的约定"解决方案,但是仍然有足够多的必要配置引起严重的头痛. 在这篇文章中,我将与您分享一些最佳实践,以简化对POM文件的维护 ...

  8. maven的最佳实践 - 版本管理

    [quote] http://blog.csdn.net/shirley_john_thomas/article/details/52598308 什么是版本管理 首先,这里说的版本管理(versio ...

  9. Maven学习(六)————企业Maven项目最佳实践

    引言 在<Maven学习(三)----Maven核心概念(二)>中,学到了Maven 继承和 Maven 聚合的概念,这两个概念,解决的问题分别是: 1.解决一些公共依赖统一版本的问题. ...

最新文章

  1. linux中/usr下文件权限修改setuid导致的问题
  2. Codeforces Round #630 (Div. 2) E. Height All the Same 排列组合
  3. Python小数据池
  4. 网站如何进行渠道跟踪_网站如何进行搜索引擎优化?
  5. oracle 除法问题,javascript中除法问题
  6. 宝塔mysql表使用中_Mysql-表的基本操作
  7. 解决curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
  8. Codeforces 448 D. Multiplication Table
  9. dialog的二次封装
  10. STM32最小系统使用FlyMcu烧写步骤
  11. 如何将qrc文件添加至VS
  12. 谷歌大脑2017总结下篇:Jeff Dean梳理6大领域研究
  13. wgs84坐标系拾取工具_Wgs84坐标系转换为gcj02坐标系及bd09坐标系的验证
  14. 改之理java文件_apk改之理反编译错误,来大神
  15. 高效能人士的七个习惯读后感与总结概括-(第三章)
  16. PDMS.NET开发
  17. uni-app 上下滑动左右滑动
  18. 线性表长度(线性表实训)
  19. 【论文阅读】GoogLeNet(2014)
  20. 北京积分落户分数线会一年比一年高?

热门文章

  1. 计算机应用基础浙大,2014春浙大远程教育计算机应用基础-3.Word知识题
  2. 东芝2505扫描软件_东芝P300机械硬盘上膛体验:内存大了,小姐姐再也不愁无处安放了...
  3. Android 手写Binder 教你理解android中的进程间通信
  4. 开发日记-20190627 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 4
  5. BFPRT 算法 (TOP-K 问题)——本质就是在利用分组中位数的中位数来找到较快排更合适的pivot元素...
  6. 数据预处理-异常值识别
  7. 条件随机场——时间序列(句子单词序列也算),其特征函数必须要考虑前一刻的数据...
  8. 华为FusionSphere概述——计算资源、存储资源、网络资源的虚拟化,同时对这些虚拟资源进行集中调度和管理...
  9. MongoDB Wiredtiger存储引擎实现原理——Copy on write的方式管理修改操作,Btree cache...
  10. AJAX(三)jQuery AJAX.post