?
有些公司并不提供外网给程序员,因此不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器;搭建nexus私服,然后程序员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。
?
?
第一步:下载nexus-2.6.4-02.war包,然后拷贝到tomcat下的webapps目录中
http://www.sonatype.org/nexus/go?????Download?the?Nexus?WAR?distribution
第二步:启动tomcat
第三步:访问http://localhost:8088/nexus-2.6.4-02显示如下:
?
?
?
第四步:点击右上角“log?in” ,输入username:admin?和Password:admin123登录
?
?
?
第五步:登录成功
?
?
第六步:点击Views/Repositories?中Repositories
?
?
?
Nexus内置仓库说明:
(1)Maven?Central:该仓库代理Maven中央仓库,其策略为Release,因此只会下载和缓存中央仓库中的发布版本构件。
(2)Releases:这是一种策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。
(3)Snapshots:这是一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件。
(4)3rd?party:这是一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。
(5)Public?Repositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务。
?
第七步:创建宿主目录和代理仓库
?
Hosted:本地仓库,通常我们会部署自己的构件到这一类型的仓库。?包括3rd?party仓库,Releases仓库,Snapshots仓库
Proxy:代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。?
Group:仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组。?
?
第八步:创建仓库组
?
点击Public?Repositories仓库,在Configurations栏中选取需要合并的仓库,点击箭头加到左边保存即可
?
?
第九步:下载Index索引并进行构建搜索(GAV搜索)
点击Views/Repositories菜单下面的Repositories,将这三个仓库 Apache?Snapshots,Codehaus?Snapshots,Central的Download?Remote?Indexes修改为 true。然后在这三个仓库上分别右键,选择Repari?index,这样Nexus就会去下载远程的索引文件。
?
第十步:配置所有构建均从私服下载,在~/.m2/setting.xml中配置如下:
<settings>
?<mirrors>
?<mirror>
?<!--此处配置所有的构建均从私有仓库中下载?*代表所有,也可以写central?-->
?<id>nexus</id>
?<mirrorOf>*</mirrorOf>
?<url>http://localhost:8088/nexus-2.6.4-02/content/groups/public</url>
?</mirror>
?</mirrors>
?<profiles>
?<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>local?private?nexus</name>
<url>http://localhost:8088/nexus-2.6.4-02/content/groups/public</url>
</repository>
</repositories>
</profile>
<profile>
<id>nexus-snapshots</id>
<repositories>
<repository>
<id>nexus-snapshots</id>
<name>local?private?nexus?snapshots</name>
<url>http://localhost:8088/nexus-2.6.4-02/content/groups/public-snapshots</url>
</repository>
</repositories>
</profile>
?</profiles>
?
<activeProfiles>
?<!--make?the?profile?active?all?the?time?-->
?<activeProfile>nexus</activeProfile>
?</activeProfiles>
?
?
第十一步:Nexus的访问权限控制,在~/m2/setting.xml中配置如下:
<!--?设置发布时的用户名?-->
?<servers>
? <server>
? <id>?releases?</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>?snapshots?</id>
<username>admin</username>
<password>admin123</password>
?</server>
?</servers>
?
第十二步:
?
部署构建到Nexus,包含Release和Snapshot,?在项目根目录中pom.xml中配置:
<distributionManagement>?
<repository>?
????<id>releases</id>?
????<name>Internal?Releases</name>?
????<url>http://localhost:8088/nexus-2.6.4-02/content/repositories/releases/</url>?
</repository>?
<snapshotRepository>?
????<id>snapshots</id>?
????<name>Internal?Snapshots</name>?
????<url>http://localhost:8088/nexus-2.6.4-02/content/repositories/snapshots/</url>?
</snapshotRepository>?
??</distributionManagement>
?
第十三步:pom.xml
<distributionManagement>?
<repository>?
????<id>releases</id>?
????<name>Internal?Releases</name>?
????<url>http://localhost:8088/nexus-2.6.4-02/content/repositories/releases/</url>?
</repository>?
<snapshotRepository>?
????<id>snapshots</id>?
????<name>Internal?Snapshots</name>?
????<url>http://localhost:8088/nexus-2.6.4-02/content/repositories/snapshots/</url>?
</snapshotRepository>?
??</distributionManagement>
?
?
你还在等什么,赶快试试吧。
?
关注作者
原文:http://it-source.iteye.com/blog/2229837