resource nexus-maven

1:Nexus(maven私服)作用 是种特殊的Maven仓库一般用于公司,比如三十个员工开发一个项目,需要每个人都联网去下载jar,每个人都很痛苦。此时公司可以搭建一个私服,让其中一人去私服下载jar,这样私服中就缓存了那些jar包,

1:Nexus(maven私服)作用

是种特殊的Maven仓库一般用于公司,比如三十个员工开发一个项目,需要每个人都联网去下载jar,每个人都很痛苦。此时公司可以搭建一个私服,让其中一人去私服下载jar,这样私服中就缓存了那些jar包,其他人在下载的时候就无需重新从远程仓库下载了,直接从私服缓存的地方拿下来即可。还有一种情况,当某个开发人员封装好某个工具jar以后,可以直接上传到私服,其余的开发人员可以直接缓存下来用。

2:安装

1:这是nexus的官网地址,https://www.sonatype.com/download-nexus-repo-oss?submissionGuid=e225567e-4323-4049-870c-478afc2a7bfe 。测试过了,表示根本无法下载,不知道是我网速原因还是因为外网的关系,我也是在网上找别的兄弟上传的资源:https://pan.baidu.com/s/1U-ehXu0YHGvsF3gbKBOrUg 提取码:x2N9 。

2:下载到本地后,解压后如图:

根据自己的系统选择相应的版本运行,运行install-nexus.bat 在系统中注册服务,注册后可以通过start-nexus.bat/stop-nexus.bat 开启服务和关闭服务。也可以在系统服务中开启关闭服务

 启动成功后打开浏览器输入:http://localhost:8081/nexus 默认账号和密码:用户名:admin 密码:admin123

    3:使用教程

1:如果是内网开发,那么需要给nexus设置代理,在Administration-->Server中进行配置 :

:

2:如果可以访问外网,跳过上面一步。下一步:配置repository 

3:nexus里可以配置3种类型的仓库,分别是proxy、hosted、group 

proxy是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用 。
hosted是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里。
group是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了 。

4:配置Central Repository的proxy

最关键的一个配置,可能就是Central Repository的proxy配置,因为大部分的构件,都是要通过这个proxy得到的 

在安装完nexus之后,这个proxy是预置的,需要做的就是把Download Remote Indexes改为true,这样nexus才会从central repository下载索引,才能在nexus中使用artifact search的功能 。
网络上有一些其他公开的maven仓库,可以用同样的办法,在nexus中设置proxy,但是并不是所有maven仓库,都提供了nexus index,这种情况下,就无法建立索引了 。

5:配置hosted repository 
一般会配置3个hosted repository,分别是3rd party、Snapshots、Releases,分别用来保存第三方jar(典型的比如ojdbc6.jar),项目组内部的快照、项目组内部的发布版 



这里并没有什么特别的配置,只是Deployment Policy这个选项,一般Snapshots会配置成允许,而Releases和3rd party会设置为禁止 。

6:配置group repository 

前面说过,group其实是一个虚拟的仓库,通过对实体仓库(proxy、hosted)进行聚合,对外暴露一个统一的地址 



这里要注意的是,放到左边的仓库,才是会被聚合的仓库。我昨天一直搞错了,把仓库都放到右边,结果group什么都没有聚合到,是一个空的仓库。。。 

7:配置用户密码 

在Security-->Users中配置,在deployment用户上点击右键,选择Set Password,然后设置一个密码,做这个操作是为了后面提交做准备 



8:在用户机器上配置settings.xml 

经过前面的7个步骤,nexus就配置好了,接下来需要在每个开发人员的开发机器上进行配置了 。去你的maven仓库中conf文件夹下的setting文件增加server、mirror两块代码即可

<?xml version="1.0" encoding="UTF-8"?>  
  
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"   
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">  
   
  <servers>  
    
    <server>  
        <id>nexus-snapshots</id>  
        <username>deployment</username>  
        <password>deployment</password>  
    </server>  
  
  </servers>  
    
  <mirrors>  
    
    <mirror>  
        <id>nexus</id>  
        <name>internal nexus repository</name>  
        <url>http://10.78.68.122:9090/nexus-2.1.1/content/groups/public/</url>  
        <mirrorOf>central</mirrorOf>  
    </mirror>  
      
  </mirrors>  
    
</settings>  


 

 

知秋君
上一篇 2024-08-26 19:36
下一篇 2024-07-04 07:12

相关推荐