`
星夜的遐想
  • 浏览: 182370 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Maven私服的创建过程

阅读更多

私服是一种特殊的远程仓库,它是架设在局域网的仓库服务,私服代理广域网上的远程仓库,供局域网中的maven用户使用,当maven用户需要下载构建的时候,它将从私服请求,如果私服存在,直接下载,如果不存在,私服将到到远程仓库下载,下载后在供maven用户使用,另外一些无法从远程仓库中下载到第三方插件也可用通过或maven用户上传到私服后供其他的maven用户下载使用。

 

如图所示:

使用私服后:

 

节省自己的外网宽带:建立私服可以避免,大量的个体用户通过网络远程下载,减少网络流量。

加速Maven构建:不停的请求外部仓库是非常耗时的,因为Maven的一些内部的机制(快照更新检查)要求maven执行构建的时候不停的检查远程仓库的数据,因此使用私服可以避免这样的情况。

其他的就不多说了。

 

下面我们具体介绍如何创建一个私服:

 

这里主要介绍下如何用当前最流行的开源Maven仓库管理软件Nexus来配置架设一个私服:

 

下载地址为:http://nexus.sonatype.org/downloads/

 

1、下载完成后,将其解压到自定义的目录如:D:\Program Files\nexus-2.1.2-bundle

 

2、在电脑的环境变量path中添加指向bin的路径:D:\Program Files\nexus-2.1.2-bundle\nexus-2.1.2\bin

 

3、接下来在系统服务中安装nexus的服务中:在cmd 窗口运行:nexus install ,然后运行nexus start 启动服务。

 

4、如果没有问题的话,我们就可以路径:http://localhost:8081/nexus/ 访问本地的nexus了首页了,点击右上角的log in 输入初始的用户名:admin  密码:admin123 就可已登录执行更多的操作。

 

5、为了避免直接请求远程仓库,而使用自己的的私服仓库,就要配置远程仓库员私服仓库的镜像映射。

     因此我们修改${user}/.m2/setting.xml文件。

 

在mirrors标签中添加mirror镜像标签

 

 
<!--设置所有的仓库都到指定的url中的去下载jar包,这里设置是本地仓库地址-->
    <mirror>
      <id>central</id>
      <mirrorOf>*</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://localhost:8081/nexus/content/groups/public/</url>
    </mirror>

 其中的id可以任意取,mirror 表示对于那些仓库进行映射,我们这来配置*表示全部远程仓库。name 只是方便阅读,可省。

 

 url 是我们在nexus 我们访问的实际仓库地址,我这本地nexus中默认的组仓库地址:

如图:

 

 

在组仓库中我们可以添加任意想访问的仓库地址。

 

6、为了可以使用中央仓库的快照版本的插件,我们文件中profiles标签中添加profile标签,配置shapshots的值为true,其中的<repository>下的id对应的是中央仓库的id,因此可以覆盖,url可以任意取,因为我们配置了镜像了。

 

  <profile>
      <id>central-repos</id>
      <repositories>
        <repository>
          <id>central</id>
          <name>Central</name>
          <url>http://central</url>
	  <releases>
	    <enabled>true</enabled>
	  </releases>
	  <snapshots>
	    <enabled>true</enabled>
	  </snapshots>
        </repository>
      </repositories>
    </profile>

 

 

7、最后完成设置profile的激活,添加,注意id和上面的profile的id一致。

<!--激活对于的profile-->
   <activeProfiles>
    <activeProfile>central-repos</activeProfile>
  </activeProfiles>

 

8、为了私有仓库的和远程仓库的同步,我们可以更新索引:选择中央仓库,在configration 中设置download romote index 为true ,点击save,就可以更新了。

 

 

 

 

这样我们的私用仓库就配置完成了。

 

 

 

 

  • 大小: 52.7 KB
  • 大小: 7 KB
  • 大小: 17.9 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics