maven之发布项目到nexus【clean deploy命令】
原文:http://m.blog.csdn.net/article/details?id=49667971
当我们的项目开发完成以后,可能要进行发布(如果是独立的项目,就不需要发布啦,如果是模块项目,那么就要发布到nexus里,供其他开发人员下载调用。)
要想发布项目到nexus里,必须通过<distributionManagement>标签来进行配置。在之前的文章中有介绍nexus的工厂类别,其中提到两个:hosted里的Releases、Snapshots.
当我们发布项目到nexus里时,如果项目版本是x.x.x-Releases,则会发布到Releases工厂中;而项目版本是x.x.x-SNAPSHOTS则发布到Snapshots工厂中。
配置<distributionManagement>:
代码:
<distributionManagement>
<repository>
<id>releasesId</id>
<name>Releases name</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots id</id>
<name>snapshots name</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
右键项目 --> run as ---> maven Build... --> 输入clean deploy命令(一开始会下载一些依赖包,淡定.....)。
后面我们会看到如下的提示信息:
怎么来设置授权呢?
【1】:去到nexus管理界面 --- > 左侧菜单栏“Security” --> “Users” ,右侧所列出的用户中,只有deployment用户才有发布项目到nexus的权限。
【2】:在setting.xml里使用<server>标签进行授权。server里的id对应<distributionManagement>里设置的id。
流程是:当执行clean deploy命令进行发布时,首先会找到<distributionManagement>的配置,获取配置信息。
然后如果setting.xml里有配置server,对比id值,如果匹配的上,就验证server里的用户是否拥有发布的权限,有权限就把项目发布到对应的仓库里。
setting.xml中server标签代码:
<server>
<id>releasesId</id>
<username>deployment</username>
<password>deployment123</password>
</server> <server>
<id>snapshotsid</id>
<username>deployment</username>
<password>deployment123</password>
</server>
至此,发布的配置就完成了,执行clean deploy命令后,就会在nexus的Releases或Snapshots仓库中找到发布的项目了。
如果我们不想把所有项目都发布到nexus的Releases或Snapshots仓库中,而是想在nexus里能为每个项目开辟一个空间,存放每个项目自己发布上去的依赖包。
要实现这种效果,需要以下几步操作:
(1)在nexus里为每个项目创建hosted类型的工厂(Releases或Snapshots两种)
(2)在Securiy --> Privileges里添加Releases或Snapshots两种工厂的特权(可以执行那些操作,如往工厂里发布,查看,删除等特权)
(3)在Security --> Roles 里添加角色,为角色配置权限
(4)在Security --> Users 里添加用户,为用户设定角色
(5)在pom.xml里的 <distributionManagement>把url改为对应的工厂路径,在setting里的server里设定对应的用户密码
执行clean deploy命令后:
maven之发布项目到nexus【clean deploy命令】的更多相关文章
- Maven发布项目到Nexus私服中 (发布jar包)
		
目录 1 需求说明 2 实现步骤 2.1 Maven服务的setting.xml文件 2.2 项目的pom.xml文件 2.3 发布项目 1 需求说明 开发完项目后, 将项目版本发布到Nexus私服中 ...
 - Maven远程发布项目到tomcat
		
向tomcat发布项目,每次都要打包传送再运行,非常麻烦.偶然一天发现maven有插件可以直接发布到tomcat.今天把大体过程介绍给大家. 首先在pom中配置tomcat插件: <plugin ...
 - tomcat8热部署配置--maven自动发布项目到tomcat8(如何支持远程访问部署)
		
1.tomcat8实现热部署的配置 我们实现热部署后,自然就可以通过maven操作tomcat了,所以就需要maven取得操作tomcat的权限,现在这一步就是配置tomcat的可操作权限. #进入 ...
 - Maven如何发布项目到一个Tomcat中
		
首先,在本地tomcat的conf/tomcat-users.xml 中配置一个user,准备让maven接入时使用: <role rolename="admin-gui"/ ...
 - 使用gradle插件发布项目到nexus中央仓库
		
目录 简介 Gradle Nexus Publish Plugin历史 插件的使用 Groovy DSL Kotlin DSL 插件背后的故事 总结 简介 Sonatype 提供了一个叫做开源软件资源 ...
 - 配置maven访问nexus,配置项目pom.xml以发布maven项目到nexus中
		
maven访问nexus有三种配置方法,分别为: 项目pom.xml,优先级最高: user的settings.xml,优先级中,未在pom.xml中配置repository标签,则使用这个配置: m ...
 - Maven使用教程二:nexus私服搭建及使用
		
nexus安装 从nexus官网 下载最新的安装包 1.打开命令行,切换到nexus-3.2.1-01/bin目录下,回车.例:C:\Nexus\nexus-3.2.1-01\bin 2.输入:nex ...
 - 使用Maven构建Android项目
		
http://www.ikoding.com/build-android-project-with-maven/ 之前一直在做WEB前端项目,前段时间接手第一个Android项目,拿到代码之后,先试着 ...
 - Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):5、Maven版本发布与后续版本更新(大结局)
		
文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...
 
随机推荐
- C语言常用关键字及运算符操作---关键字
			
每个知识点4问: 1. 是什么? 2. 什么时间用? 3. 怎么用? 4.为什么这么用? 1. 32个关键字 //(1)sizeof 的用法 //sizeof 是关键字,让编译器帮我们查看内存空间存储 ...
 - Python3基础教程(十六)——  迭代器、生成器、装饰器
			
在这个实验里我们学习迭代器.生成器.装饰器有关知识. 这几个概念是 Python 中不容易理解透彻的概念,务必把所有的实验代码都完整的输入并理解清楚其中每一行的意思. 迭代器 Python 迭代器(I ...
 - TensorFlow低阶API(二)—— 张量
			
简介 正如名字所示,TensorFlow这一框架定义和运行涉及张量的计算.张量是对矢量和矩阵向潜在的更高维度的泛化.TensorFlow在内部将张量表示为基本数据类型的n维数组. 在编写TensorF ...
 - emacs - GNU Emacs
			
总览 (SYNOPSIS) emacs [ command-line switches ] [ files ... ] 描述 (DESCRIPTION) GNU Emacs 是 Emacs 的 一个 ...
 - iview table 已选项的数据 this.$refs.tables.$refs.tablesMain.getSelection()
			
iview table 已选项的数据 this.$refs.tables.$refs.tablesMain.getSelection() 由于我这里table组件是套了两层组件 所以是进入了两个层次拿 ...
 - numpy次方计算
			
>>> 2**np.arange(3, 6) array([ 8, 16, 32])
 - PHP15 Smarty模板
			
学习目标 Smarty基本概念 Smarty安装和配置 Smarty模板设计 Smarty流程控制 Smarty基本概念 一种模板引擎,在系统中进行预处理和过滤数据.是主流的PHP模板引擎,此外PHP ...
 - U盘制作安装盘后容量不能恢复的解决方案
			
diskpartlist diskselect disk 0/1 --看具体U盘是0还是1clean
 - strong&weak
			
copy:建立一个索引计数为1的对象,然后释放旧对象 对NSString对NSString 它指出,在赋值时使用传入值的一份拷贝.拷贝工作由copy方法执行,此属性只对那些实行了NSCopying协议 ...
 - canvas使用自定义字体没有效果
			
字体样式没有显示主要是因为字体还没有加载完成~ css @font-face { font-family: myFont; src: local('sen.ttf'), url("sen.t ...