maven中distributionManagement

摘要:
将组件分发到远程仓库。mvninstall将把项目生成的组件安装到本地Maven仓库。mvndeploy用于将项目生成的组件分发到远程Maven仓库。本地Maven仓库的组件只能由当前用户使用。分发到远程Maven仓库后,所有可以访问仓库的用户都可以使用您的组件。我们需要配置POM的分发管理以指定Maven分发组件的位置,如下所示:<项目>
分发构件至远程仓库
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是本地的。
 

小结

本文介绍了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中distributionManagement》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HTML页面过渡效果大全关于scanf下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SVN常用方法

使用svn的好处: 多人协作开发解决代码合并覆盖问题版本回退(将一个或多个文件恢复到旧版本)查看修改历史(日志),方便领导把控开发进度 SVN执行流程: 搭建svn服务器:安装服务器端软件、创建项目仓库、启动仓库服务 在个人开发电脑,安装svn客户端软件 创建项目目录,通过checkout检出操作,与svn版本库建立连接,下载所有的代码。 日常开发,...

在vscode中用Git管理项目

一、新建仓库 1、新建仓库-->填写仓库名称-->一定要将对钩去掉-->公开-->创建 Git全局设置: git config --global --add user.name "zhouwenhao"git config --global --add user.email "1141180185@qq.com" 二、推送代码 2、...

查看npm仓库版本号

http://repo.inspur.com:8081/artifactory/webapp/#/artifacts/browse/simple/General/thirdparty iop 找到现在的版本号 222222222222222222...

Git连接GitHub仓库详解

创建SSH Key 1.注册GitHub账号。 2.创建SSH Key。windows + R键同时按,打开运行命令窗口,输入.进入家目录。 看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有(那就奇了怪了!),一般第一次使用是没有的,真有的话可以直接跳过下面的命令。 打开命令行,执行命令:ssh-keygen -t rsa -C...

用GitHub Pages搭建博客(三)

本篇介绍通过git工具替换网站主题,并发布 Jekyll和Hexo的简要介绍   GitHub Pages是基于Jekyll构建的,Jekyll 是一个简单的博客形态的静态站点生产工具,它有一个模版目录,其中包含原始文本格式的文档,通过一个转换器(如 Markdown)和Liquid 渲染器,将我们的的原始文章(Markdown格式文件)转化成静态页面,...

Git的基础命令大全,拉取推送,分支,合并,冲突

命令如下:  1. clone(克隆): 从远程仓库中克隆代码到本地仓库  2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订  3. add(添加): 在提交前先将代码提交到暂存区  4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本  5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行...