安装Nexus OSS及配置Spring Milestones仓库

安装nexus oss

下载 Nexus oss 3,安装,进入bin目录,执行

./nexus start

访问 http://192.168.1.XX:8081/, XX替换成你的IP,默认的登陆账号是admin/admin123,进入之后可以创建新的账号。

nexus.png

发布包到nexus

建立私服的主要目的是可以发布公司内部的包,方便项目依赖。
在项目的pom.xml文件添加:


    
      nexus
      Releases
      http://192.168.1.17:8081/repository/maven-releases
    
    
      nexus
      Snapshot
      http://192.168.1.17:8081/repository/maven-snapshots
    
  

以上配置中的URL对应nexus中的两个默认Repository:


Repository.png

此处可以配置其他的maven仓库,比如spring的maven仓库,下面会讲到如何配置。

然后运行mvn deploy,就可以将包发布的nexus中,可以在如下画面中查询。

search.png

401 unauthorized

如果发布时返回401失败,需要在Maven的配置文件中(setting.xml)设置nexus的用户名和密码。

Return code is: 401, ReasonPhrase: Unauthorized.

    
      nexus
      admin
      admin123
    
  

400

如果返回400错误,需要设置目的repository,发布策略改为Allow redeploy.

allow-redeploy.png

使用nexus私服

在Maven的setting.xml文件中添加如下配置,这样所有对maven默认仓库(ID为central)的访问都会通过http://192.168.1.17:8081/repository/maven-public/,而这个仓库nexus已经为我们指定了maven官方仓库的地址,所以profile中的URL是个假地址。


   
   
     nexus
     central
     http://192.168.1.17:8081/repository/maven-public/
   

 
   
     nexus
     
       
         central
         http://central
         
           true
         
         
           true
         
       
     
     
       
         central
         http://central
         
           true
         
         
           true
         
       
     
   
 

 
   nexus
 

配置Spring Milestones

在创建Spring Cloud项目后,pom.xml文件中会使用spring-milestones这个仓库,能否不在pom.xml中出现这个配置呢?


    
        spring-milestones
        Spring Milestones
        https://repo.spring.io/milestone
        
            false
        
    

道理和上一节中配置maven默认仓库是一样的,这里我们需要配置spring-milestones这个仓库ID。
mirrors中添加:

    
    
      spring
      spring-milestones
      http://192.168.1.17:8081/repository/spring-milestones/
    

profiles中添加如下,注意URL仍然是个假地址。


      spring
      
        
          spring-milestones
          https://spring
          
            true
          
          
            false
          
        
      
      
        
          spring-milestones
          https://spring
          
            true
          
          
            false
          
        
      
    

在nexus中创建新的仓库,地址即为上图mirror中的URL http://192.168.1.17:8081/repository/spring-milestones/

首先创建maven proxy类型的仓库,并指定被代理的maven仓库地址,这里指定spring的maven仓库地址。


spring-milestone.png

再创建maven group类型的仓库,并在成员仓库中指定刚才创建的proxy仓库。


maven-group.png

member-repository.png

图中group仓库的URL就是刚才mirror中指定的URL。

完整的Setting.xml



  
  
  
  

  
    
      nexus
      indeed
      indeed
    
  

  
    
    
      nexus
      central
      http://192.168.1.17:8081/repository/maven-public/
    

    
    
      spring
      spring-milestones
      http://192.168.1.17:8081/repository/spring-milestones/
    
  

  
    
      nexus
      
        
          central
          http://central
          
            true
          
          
            true
          
        
      
      
        
          central
          http://central
          
            true
          
          
            true
          
        
      
    

    
      spring
      
        
          spring-milestones
          https://spring
          
            true
          
          
            false
          
        
      
      
        
          spring-milestones
          https://spring
          
            true
          
          
            false
          
        
      
    
  

  
    spring
    nexus
  


http://www.baeldung.com/maven-deploy-nexus
https://help.sonatype.com/repomanager3/maven-repositories#MavenRepositories-ConfiguringApacheMaven

你可能感兴趣的:(安装Nexus OSS及配置Spring Milestones仓库)