maven的distributionManagement
来源:互联网 发布:淘宝店运营视频教程 编辑:程序博客网 时间:2024/05/01 10:03
参考自
http://blog.csdn.net/gtuu0123/article/details/5525575
这个问题一般不会碰到,所以就完全不懂。我要把本地的代码deploy到一个url远程仓库上去,但是应该如何修改pom和setting.xml我不是很理解。
分发构件至远程仓库
mvn install 会将项目生成的构件安装到本地Maven仓库,mvn deploy 用来将项目生成的构件分发到远程Maven仓库。本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。
我们需要配置POM的distributionManagement来指定Maven分发构件的位置,如下:
Xml代码
- <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中配置认证信息:
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是本地的。
想说的是,setting.xml中的servers是给定权限,而在pom.xml中就是使用了servers里头的权限对应的id来进行远程的deploy的。至于属性<name>不是很明白,应该没什么用,而url就是要deploy的远程路径。
- maven的distributionManagement
- maven中的distributionManagement的作用
- Maven最佳实践-distributionManagement
- Maven的pom.xml文件结构之环境配置distributionManagement
- Maven的pom.xml文件结构之环境配置distributionManagement
- Maven学习 --- <distributionManagement>
- Maven抛出异常repository element was not specified in the POM inside distributionManagement element
- 【Maven】maven的依赖
- 【Maven】maven的依赖
- maven(9)--maven的生命周期
- maven学习-----maven的优势
- 【Maven】Maven的简单使用
- 【Maven】Maven的依赖范围
- pom配置之:<distributionManagement>snapshot快照库和release发布库
- pom配置之:<distributionManagement>snapshot快照库和release发布库
- pom配置之:<distributionManagement>snapshot快照库和release发布库
- pom配置之:<distributionManagement>snapshot快照库和release发布库
- maven--maven工程的创建和maven命令的使用
- Rage(PC) Modding Notes
- How Many Paths Are There
- hdu 4939 Stupid Tower Defense 2014多校七 DP
- 求两条直线的交点,运用面向对象的思想编程实现C++源码
- 参照openRTSP写的一个RTSP client 加了一些注解
- maven的distributionManagement
- Populating Next Right Pointers in Each Node II leetcode
- webview使用详解
- 随笔
- const int *p和int * const p的区别(常量指针与指向常量的指针)
- HDOJ题目2502月之数(数学,递推)
- Oracle体系结构
- 资源汇总
- python实现tail -f命令功能