`
ITsource源代码
  • 浏览: 42215 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

【连载】Maven系列(四)——配置私服

 
阅读更多

相关文章

1.《用起来超爽的Maven——入门篇》

2.《用起来超爽的Maven——进阶篇》

3.《Maven系列(三) 进阶》

 

一、为什么需要私服  

有些公司并不提供外网给程序员,因此不能使用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>

 

 

你还在等什么,赶快试试吧。

 

关注作者

        

3
2
分享到:
评论
3 楼 string2020 2015-07-24  
qq466862016 写道
string2020 写道
maven package会把整个项目打包
但是,如果我只想打包部分包,怎么做
比如说,我只想把com.itsoft.bean打包,请问,怎么做


pom.xml中配置下就行了


关键是怎么配置
2 楼 qq466862016 2015-07-24  
string2020 写道
maven package会把整个项目打包
但是,如果我只想打包部分包,怎么做
比如说,我只想把com.itsoft.bean打包,请问,怎么做


pom.xml中配置下就行了
1 楼 string2020 2015-07-24  
maven package会把整个项目打包
但是,如果我只想打包部分包,怎么做
比如说,我只想把com.itsoft.bean打包,请问,怎么做

相关推荐

Global site tag (gtag.js) - Google Analytics