CentOS安装Nexus:(二)配置及使用Maven私服

前面一篇文章介绍Nexus的安装,接下来介绍Nexus在项目开发中的使用。

一、访问Nexus

访问地址:http://ip:8081/nexus

账号/密码:admin/admin123


二、Nexus仓库

nexus的仓库类型分为以下四种:

group: 仓库组

hosted:宿主

proxy:代理

virtual:虚拟

首次登陆nexus后可以看到以下一个仓库组和多个仓库。




PublicRepositories:  仓库组,将以下所有的库集成起来并提供一个URL供我们使用。

3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库,如oracle jdbc、documentum第三方开发包等

Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库

Central: 用来代理maven中央仓库中发布版本构件的仓库

Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库

Codehaus Snapshots: 用来代理CodehausMaven 仓库的快照版本构件的仓库

Releases: 用来部署管理内部的发布版本构件的宿主类型仓库

Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库


三、配置Nexus使得可以搜索Artifact

1,Central仓库配置

Download Remote Indexes:true

Remote Storage Location:http://maven.aliyun.com/nexus/content/repositories/central/

此处特别感谢阿里云提供的镜像。

CentOS安装Nexus:(二)配置及使用Maven私服_第1张图片


配置好以后能浏览远程仓库中内容,如图:

CentOS安装Nexus:(二)配置及使用Maven私服_第2张图片


2,建立索引

首先在nexus上更新索引,保证其索引是最新的。选中仓库右键更新索引,只有更新了外部Maven中央仓库的索引后才能搜索到Artifact及jar包,更新索引需要不少时间,步骤如下:

CentOS安装Nexus:(二)配置及使用Maven私服_第3张图片

四、管理第三方jar包

我目前只是用3rd party这个第三方的功能,将maven仓库中没有构件的jar包上传到服务器。如何将第三方的jar上传到nexus上面呢?如下:举例上传oracle的驱动包

   

 

 

 

那么现在nexus已经安装好,怎么使用上传的jar包吧,很简单的,前提是你已经建立了一个maven的项目。含有pom.xml这个文件,在这个文件中添加如下:

先去服务器看看jar的maven构件

五、配置与Maven使用私服

在路径{maven_home}/conf settings.xml 文件中,为所有仓库配置一个镜像仓库,镜像仓库的地址即私服的地址(这儿我们使用私服公共仓库组 Public Repositories 的地址)

  
     
      nexus
      central
      Human Readable Name for this Mirror.
      http://ip:8081/nexus/content/groups/public
    
     
  


六、迁移Nexus到另一台机器

我们只需要将索引和jar等存储文件拷贝过去

索引位置:

[root@jenkins indexer]# pwd
/usr/local/sonatype-work/nexus/indexer
[root@jenkins indexer]# ls
apache-snapshots-ctx  public-ctx    snapshots-ctx
central-ctx           releases-ctx  thirdparty-ctx
[root@jenkins indexer]# 

jar文件存储位置:

[root@jenkins storage]# pwd
/usr/local/sonatype-work/nexus/storage
[root@jenkins storage]# ls
apache-snapshots  central  central-m1  public  releases  snapshots  thirdparty

七、遇到的问题

1,mvn install时报错,错误信息如下:

Failure to find xxx:jar:1.0 in http://localhost:8081/nexus-webapp-1.9.0/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced
解决办法:

去自己的.m2 文件夹下把 xxx.lastUpdated文件全部删掉,重新运行maven,ok!或者在用maven时加 -U参数,就可以忽略xxx.lastUpdated..




你可能感兴趣的:(Nexus,Cent,CentOS7.2)