转载自:http://blog.csdn.net/lw_power/article/details/46586717java
Nexus服务器用途npm
Nexus服务器是一个代码包管理的服务器,能够理解 Nexus 服务器是一个巨大的 Library 仓库。Nexus 能够支持管理的工具包括 Maven , npm 等,对于 Java 开发来讲,只要用到 Maven 管理就能够了。缓存
Nexus服务器优势服务器
传统的中央仓库的地理位置比较远,所以,当公司开发人员数量愈来愈多时,若是不架设一台本身的Nexus服务器,会产生大量的流量阻塞带宽,而且在出现一些不可抗缘由(光缆被挖断)致使没法链接到中央仓库时,开发就会由于没法下载相关依赖包而进度停滞。所以在本地环境部署一台私有的Nexus服务器来缓存全部依赖包,而且将公司内部开发的私有包也部署上去,方便其余开发人员下载,是很是有必要的。由于 Nexus 有权限控制,所以外部人员是没法获得公司内部开发的项目包的。eclipse
将本身的写的 maven 构件发布到私服
一、在 pom.xml 文件中声明
声明快照发布的宿主仓库和 release 版本发布的仓库。maven
<distributionManagement> <snapshotRepository> <id>maven-nexus-snapshots</id> <name>maven-nexus-snapshots</name> <url> http://192.168.0.116:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> <repository> <id>maven-nexus-repository</id> <name>maven-nexus-repository</name> <url>http://192.168.0.116:8081/nexus/content/repositories/releases/</url> </repository></distributionManagement>ide
Maven 区别对待 release 版本的构件和 snapshot 版本的构件, snapshot 为开发过程当中的版本,实时,但不稳定,release版本则比较稳定。Maven 会根据你项目的版原本判断将构件分发到哪一个仓库。工具
二、在 settings.xml 文件中配置
因为用 Maven 分发构件到远程仓库须要认证,需要在~/.m2/settings.xml中加入验证信息:url
<server> <id>maven-nexus-snapshots</id> <username>admin</username> <password>admin123</password></server><server> <id>maven-nexus-repository</id> <username>admin</username> <password>admin123</password></server>spa
注意: settings.xml 中 server 元素下 id 的值必须与 POM 中 repository 或 snapshotRepository 下 id 的值彻底一致 。
附:发布 release 版本时发生错误 Failed to transfer file … Retrun code is 401
这是由于: Nexus中 Releases 仓库默认的 Deployment Policy是“Disable Redeploy”,因此没法部署的问题在这个地方,解决方法是将其修改成“Allow Redeploy”就能够了。
eclipse 的控制台显示: