分发构件至远程仓库
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是本地的。

小结

本文介绍了Maven仓库,它是什么?本地仓库,远程仓库,中央仓库具体是指什么?并介绍了如何在POM中配置项目层次的仓库,在settings中配置用户层次的仓库,以及mirror。本文还介绍了如何安装构件到本地仓库,如何分发构件至仓库。

如果这里不配置,会报错: 报 错:Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy (default-deploy) on project git-demo: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter

maven deploy distributionManagement相关推荐

  1. Maven deploy配置方法

    作用 在本地的pom文件配置好之后,执行deploy命令,可以将maven所打的jar包上传到远程的repository,便于其他开发者和工程共享. pom.xml配置 首选,在pom文件中proje ...

  2. maven deploy上传文件到私服 神坑解决

    maven deploy上传文件到私服 神坑解决 命令行使用命令 mvn deploy:deploy-file -DgroupId=com.sf -DartifactId=express -Dvers ...

  3. maven deploy上传私服出错

    error 内容如下 Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:  deploy (default ...

  4. maven deploy到nexus报错:Return code is: 401, ReasonPhrase:Unauthorized

    1.设置maven 的settiing 的server <server><id>snapshots</id><username>***</user ...

  5. maven deploy

    在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...

  6. Maven deploy 401错误

    idea中mvn deploy -DskipTests 时报错 这个本质原因就是pom.xml发布的配置信息与maven的settings.xml配置的信息不一致导致 首先项目中的pom.xml &l ...

  7. maven deploy jar包到远程仓库400

    第一步,登陆nexus http://maven.repo.[公司域].com/nexus/#welcome 查看账号是否有上传权限,选择某个respository如果如下图所示,代表有权限 第二步, ...

  8. maven deploy plugin_学习Maven之Maven Surefire Plugin

    1.maven-surefire-plugin是个什么鬼? 如果你执行过mvn test或者执行其他maven命令时跑了测试用例,你就已经用过maven-surefire-plugin了.maven- ...

  9. maven deploy plugin_Maven工程概念和关系

    Maven工程种类.关系及常用插件 1 工程种类 1.1 POM 工程 用在父级工程或聚合工程中.用来做 jar 包的版本控制.常见 pom.xml 配置如下: 1.2 JAR 工程 将会打包成 ja ...

最新文章

  1. asp.net mvc fckeditor全攻略(补充:Controller中传值的问题)
  2. React系列---React+Redux工程目录结构划分
  3. LeetCode 744. Find Smallest Letter Greater Than Target (时间复杂度O(n))
  4. 聚类效果评价——Silhouette Coefficient(轮廓系数)——内部评估标准(1)
  5. 单片机 驱动 标签打印机tsc_指令打印与驱动打印随笔
  6. 面试题——C++/C
  7. springboot actuator_Spring Boot之程序性能监控
  8. MySQL 常用基础命令
  9. 在Sun Java System Web Server上使用Quercus运行PHP
  10. eclipse 导入maven项目_一文轻松学会:从GitHub下载项目到eclispe
  11. 职场怪谈:技术面试过了一般HR多久联系?
  12. 【Java 代码实例 6】FileUtils、StringUtil、CollectionUtils、ArrayUtils(附代码示例)
  13. 卓有成效的管理者(笔记)——我能贡献什么
  14. 《计算机网络教程》(微课版 第五版)第四章 网络层与网络互连 课后习题及答案
  15. AE 制作一个简单的动画
  16. oracle 执行计划中出现 merge join cartesian
  17. 阿里实人认证android,Android集成
  18. 移动端js触摸touch详解(附带案例源码)
  19. 百钱百鸡(详解版)——多重循环
  20. 视觉显著性检测——PR曲线

热门文章

  1. 三分法解决凸(凹)函数极值问题
  2. 【C#2.0】发挥匿名委托的威力!
  3. Spring项目中使用webservice实现h5的websocket通信
  4. Python安装Matplotlib,wordcloud,jieba第三方库
  5. android波纹效果弹窗,Android自定义View实现波纹效果
  6. android新建多个java,Java-如何在Android的警报对话框中添加多项选...
  7. 照片边框 app android,Screener App-一手搞定将手机截图加上外框
  8. 检测网络是否稳定的计算机命令,如何查看自己的网络是否稳定
  9. java 自定义解码_[求助],java如何使用自定义注解对入参进行解密?
  10. python mysql ssl,python – 在SQLAlchemy中使用SSL