Maven私有仓库搭建 Nexu3

一、使用Docker安装Nexus

     

1
Docker search nexus

  Maven私有仓库搭建 Nexu3_第1张图片

1
docker pull docker.io/sonatype/nexus3

  

1
2
3
4
mkdir -p /usr/local/nexus3/nexus-data
chown -R 200 /usr/local/nexus3/nexus-data
 
docker run -tid -p 8081:8081 --name nexus -e NEXUS_CONTEXT=nexus -v /usr/local/nexus3/nexus-data:/nexus-data  docker.io/sonatype/nexus3

  现在已经安装完成了 nexus。

二、登录Nexus进行配置

1、登录nexus

           访问:http://ip:8081/nexus  使用默认管理员身份登录,帐号:admin,密码:admin123

                    Maven私有仓库搭建 Nexu3_第2张图片

 2、进入管理界面

            Maven私有仓库搭建 Nexu3_第3张图片

 

  • Browse可以查看当前有多少仓库,搭建好的Nexus,默认会带有一些maven仓库,一般使用这些仓库就足够了。
  • 默认仓库说明    

          maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar

          maven-releases:私库发行版jar,初次安装请将Deployment policy设置为Allow redeploy

          maven-snapshots:私库快照(调试版本)jar

          maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml或项目pom.xml中使用

  • 仓库类型    

           Group:这是一个仓库聚合的概念,用户仓库地址选择Group的地址,即可访问Group中配置的,用于方便开发人员自己设定的仓库。maven-public就是一个Group类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x默认Releases,Snapshots,                                  Central,当然你也可以自己设置。
           Hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的jar文件
           3rd party:未发布到公网的第三方jar (3.x去除了)
           Snapshots:本地项目的快照仓库
           Releases: 本地项目发布的正式版本
           Proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage属性的值即被代理的远程仓库的路径),如可配置阿里云maven仓库
          Central:中央仓库
          Apache Snapshots:Apache专用快照仓库(3.x去除了)

 3、增加新的代理源

             第一步 按照步骤添加新的代理源

              Maven私有仓库搭建 Nexu3_第4张图片

             第二步选择添加maven2的代理

             Maven私有仓库搭建 Nexu3_第5张图片

            第三步添加代理(Cache统一设置为200天 288000)

            Maven私有仓库搭建 Nexu3_第6张图片

            Maven私有仓库搭建 Nexu3_第7张图片

           第四步逐个增加常用代理

复制代码
1. aliyun
http://maven.aliyun.com/nexus/content/groups/public
2. apache_snapshot
https://repository.apache.org/content/repositories/snapshots/
3. apache_release
https://repository.apache.org/content/repositories/releases/
4. atlassian
https://maven.atlassian.com/content/repositories/atlassian-public/
5. central.maven.org
http://central.maven.org/maven2/
6. datanucleus
http://www.datanucleus.org/downloads/maven2
7. maven-central (安装后自带,仅需设置Cache有效期即可)
https://repo1.maven.org/maven2/
8. nexus.axiomalaska.com
http://nexus.axiomalaska.com/nexus/content/repositories/public
9. oss.sonatype.org
https://oss.sonatype.org/content/repositories/snapshots
10.pentaho
https://public.nexus.pentaho.org/content/groups/omni/
复制代码

              第五步 设置maven-public 将这些代理加入Group,最好将默认的maven库放到最底下

                Maven私有仓库搭建 Nexu3_第8张图片

               第六步 设置私用仓库可重复发布

                 Nexus安装后自带maven-releases,maven-snapshots两个仓库,用于将生成的jar包发布在这两个仓库中,在实际开发中需要将maven-releases设置为可以重复发布

               Maven私有仓库搭建 Nexu3_第9张图片

4、Maven配置使用Nexus

        修改.m2下面的setting.xml文件配置

复制代码





  
  ${user.home}/.m2/repository

  

  

  
  
    
  

  
  
    
  

  
  
    
    
    
      releases
      admin
      admin23
    
    
    
      snapshots
      admin
      admin123
    

    
  

  
  
    
    
      HolliParkMirror
      *
      HolliPark Repository Mirror.
      http://localhost:8082/nexus/repository/maven-public/
    
       
  

  
  
    
      HolliPark
      
        
          nexus
          Public Repositories
          http://localhost:8082/nexus/repository/maven-public/
          
            true
          
        
      
        
          central
          Central Repositories
          http://localhost:8082/nexus/repository/maven-central/
          
            true
          
          
            false
          
        
        
        
          release
          Release Repositories
          http://localhost:8082/nexus/repository/maven-releases/
          
            true
          
          
            false
          
        
        
        
          snapshots
          Snapshot Repositories
          http://localhost:8082/nexus/repository/maven-snapshots/
          
            true
          
          
            true
          
        
      
      
      
        
          plugins
          Plugin Repositories
          http://localhost:8082/nexus/repository/maven-public/
        
      
    
    
    
    
  

  
  
  
    HolliPark
  
  
复制代码

三、创建私有公库

 1、创建普通的maven项目

              Maven私有仓库搭建 Nexu3_第10张图片

  2、修改项目的pom.xml

                    在pom文件中加入distributionManagement节点,注意:pom.xml中repository里的id需要和.m2中setting.xml里的server id名称保持一致

复制代码


releases
Nexus Release Repository
http://localhost:8082/nexus/repository/maven-releases/


snapshots
Nexus Snapshot Repository
http://localhost:8082/nexus/repository/maven-snapshots/

复制代码

3、发布私有公库

                            执行部署命令即可发布。

mvn deploy

                            登录Nexus,查看对应的仓库已经有相关的依赖包了

                     Maven私有仓库搭建 Nexu3_第11张图片

 

maven种的 setting.xml 文件配置

此处对应的私服中

Maven私有仓库搭建 Nexu3_第12张图片

 

 

 

  -->
    <server>
            <id>maven-releasesid>
            <username>adminusername>
            <password>admin123password>
      server>
      <server>
            <id>maven-snapshotsid>
            <username>adminusername>
            <password>admin123password>
      server>

    
  servers>

  
  <mirrors>
    

    <mirror>
      <id>aliyunid>
      <name>aliyun Mavenname>
      <mirrorOf>*mirrorOf>
      <url>http://192.168.174.132:8081/repository/maven-public/url>
    mirror>

  mirrors>

 

         注意以下几点:         

  •  若项目版本号末尾带有 -SNAPSHOT,则会发布到snapshots快照版本仓库
  •  若项目版本号末尾带有 -RELEASES 或什么都不带,则会发布到releases正式版本仓库

你可能感兴趣的:(Maven私有仓库搭建 Nexu3)