Centos7 安装配置maven仓库nexus

时间:2024-04-12 09:16:22

第一部分

第一步: 下载nexus软件包

wget https://download.sonatype.com/nexus/professional-bundle/nexus-professional-2.11.4-01-bundle.tar.gz

官网:https://help.sonatype.com/repomanager2/download/download-archives---repository-manager-2

 

第二步:解压下载的tar.gz包

tar xf  nexus-professional-2.11.4-01-bundle.tar.gz

第三步:编辑conf/nexus.properties,修改nexus对外端口

Centos7 安装配置maven仓库nexus

第四步:编辑nexus文件,修改NEXUS_HOME为自己的安装地址,修改运行使用用户名称。

Centos7 安装配置maven仓库nexus

第五步:启动nexus

/opt/nexus-2.11.4-01/bin/nexus start

第六步:页面访问

访问网站:nexus.rabbit.com/nexus,初始用户名密码:admin/admin123、deployment/deployment123

Centos7 安装配置maven仓库nexus

登录后,点击左侧Repositories,界面如上图所示。

右侧的列表中,可以看到nexus预设的几个仓库。

第一个public Repositories,类型为group,这个简单理解为仓库的集合,下面的仓库就是可以加入到这个集合的元素。

对外可以只提供一个单独的url,如上图显示为:http://192.168.2.141:8081/nexus/content/groups/public/

大部分的终端用户,只需要配置上面这一个单独的聚合后的url,而不用单独配置多个仓库。用户也不需要知道某个jar包具体来源于maven *仓库,或者是Apache Snapshots,或者是我们自己添加的其他仓库。

这样的好处在于:如果我们要新增某个仓库(如开源中国、阿里云),客户端不需要做任何更改,只需要在nexus上将要新增的仓库加入到对外提供服务的仓库 group中就可以。

第二个3rd party,与倒数第一个和第二个仓库,Releases和Snapshots一样,类型为hosted,意思是由nexus本机管理的仓库。该仓库用于商业化的,第三方提供的非开源的依赖仓库,如oracle jdbc driver。

倒数第二个Releases,用于存放开发团队内部用的正式版的依赖。

倒数第一个Snapshots,用于存放开发团队内部日常构建的频率更新较快的依赖包。

Apache Snapshots和Central类型都是proxy,意思是远端仓库的代理。前者包含了Apache Software Foundation 发布的快照版本(这么翻译不知道对不对),后者为Maven*仓库,我们平时maven默认就是连接该仓库。

Central M1 Shadow类型为virtual,按官方文档的意思是,只是已有仓库的一个不同呈现方式的映射。有需要可以参考官方手册6.2.3节。

第二部分

第一步:仓库配置

Central 的 Download Remote Indexes改为True。而Remote Storage Location是maven*仓库的地址,可以改为阿里的镜像:http://maven.aliyun.com/nexus/content/groups/public/,本人实际使用时有个别jar包下载有问题,这里推荐这个地址不要修改,而是再建一个proxy类型的仓库从阿里镜像下载

Centos7 安装配置maven仓库nexus

第二步:使用阿里镜像

新建Proxy Repository

Centos7 安装配置maven仓库nexus

Centos7 安装配置maven仓库nexus

第三步:

有一个类型为group的Public Repositories,它是仓库的集合,这里加入新建的阿里镜像仓库,并排在第一个

Centos7 安装配置maven仓库nexus

点击Configuration,可以看到当前添加到该集合的仓库列表及顺序(优先级高的在上面,可用鼠标拖拽),当我们新增了仓库,将会出现在右侧的available Repository,添加到左边即可。

如果有哪个仓库不想加入到该集合,也可以拖拽到右边来。

 

第四步:安装配置maven(源码安装3.3.9)

首先复制仓库集合的repository url,客户端配置需要用到。

Centos7 安装配置maven仓库nexus

打开conf/settings.xml,按照如下步骤修改:

<settings>
  <localRepository>/opt/M2_REPO</localRepository>
  <servers>
    <server>
      <id>releases</id>
      <username>deployment</username>
      <password><![CDATA[deployment123]]></password>
    </server>
    <server>
      <id>snapshots</id>
      <username>deployment</username>
      <password><![CDATA[deployment123]]></password>
    </server>
  </servers>
  
  <mirrors>
    <mirror>
      <id>yougou</id>
      <mirrorOf>central-yougou</mirrorOf>
      <url>http://nexus.rabbit.com/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>yougou</id>
      <repositories>
        <repository>
          <id>central-yougou</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>central-yougou</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    <!--profile>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <environment.type>dev</environment.type>
      </properties>
    </profile-->    
  </profiles>
  <activeProfiles>
    <activeProfile>yougou</activeProfile>
  </activeProfiles>
</settings>

至此maven仓库nexus搭建完毕