6.Maven私服搭建

来源:互联网 发布:淘宝客服新手工资多少 编辑:程序博客网 时间:2024/05/01 02:42

1.为什么要私服?

个人机器直接maven中心库,有时候会出现下载不了的情况,耽误时间,构建不了;另外有些公司开发者根本上不了外网,所以很有必要在局域网里找一台有外网权限的机器,搭建maven私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了maven私服的电脑访问maven的远程仓库;再者,利用私服可以节省网络带宽,加速构建,还可以自己部署构件等。下面看一下maven私服的连接图:
这里写图片描述
maven本身没有私服的概念,是衍生出来的一种特殊仓库。下来我们利用nexus来搭建私服。

2.nexus搭建私服

1.下载安装

nexus下载地址:http://www.sonatype.org/nexus/
下载完成后,解压。来看一下目录结构:
这里写图片描述,第一个是nexus的程序目录,第二个是它的工作目录。
进入程序目录,进入bin目录,如图:
这里写图片描述
其中nexus.bat是一个批处理脚本,我们在cmd中执行。首次执行,会询问是否要安装成为系统服务,按照提示安装即可。随后再启动服务即可。然后在浏览器输入地址:http://localhost:8081/nexus,浏览器显示nexus的界面。
这里写图片描述
点击右上角的log in,输入用户名admin, 密码admin123,登录nexus服务管理界面。

2.私服配置

正确登录后,点击左侧的Repositories链接,展示了很多的仓库,如图:
这里写图片描述
选中central仓库,再选中下侧的configuration的链接,如图:
这里写图片描述
图中,红色线框中的False改成Ture。这样就可以在nexus管理界面的左上侧查询构建的gav坐标。

3.私服仓库介绍

下来我们简单介绍一下nexus中的仓库:
这里写图片描述
Nexus 的仓库分为这么几类:

  • hosted 宿主仓库:主要用于部署无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)以及自己或第三方的项目构件;
  • proxy 代理仓库:代理公共的远程仓库;
  • virtual 虚拟仓库:用于适配 Maven 1;
  • group 仓库组:Nexus 通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库。
    这里写图片描述
    可以看到,仓库组里面包含了很多仓库。

3.开发者配置

私服配置好了,要使用私服,我们要配置一下settings.xml。

<!-- 镜像配置:将所有的下载请求都通过私服来下载--> <mirror>     <!--id覆盖了超级pom的配置,最好不要乱叫名字-->      <id>central</id>      <mirrorOf>*</mirrorOf>      <name>huize tech private server</name>      <url>http://192.168.147.1:8081/nexus/content/groups/public/</url>    </mirror>  </mirrors><!--有了镜像配置,url标签可以随便写--><profile>      <id>nexus</id>      <repositories>        <repository>          <id>nexus</id>          <name>Nexus</name>          <url>http://a</url>            <releases>            <enabled>true</enabled>          </releases>          <snapshots>            <enabled>true</enabled>          </snapshots>        </repository>      </repositories>      <pluginRepositories>          <pluginRepository>              <id>nexus</id>              <name>nexus</name>              <url>http://a</url>              <releases>                  <enabled>true</enabled>              </releases>              <snapshots>                  <enabled>true</enabled>              </snapshots>          </pluginRepository>      </pluginRepositories>      </profile>  </profiles>  <activeProfiles>    <activeProfile>nexus</activeProfile>  </activeProfiles>

OK,这样配置后,所有的maven项目构建都会从私服下载。enjoy!

0 0
原创粉丝点击