简述nexus私服搭建及在idea中应用

简述

Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus 使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身份认证。

下载安装 Nexus

注意: 选择NEXUS OSS(开源版本)

简述配置(win版本)

  • 将下载好的ZIP包进行解压
  • 配置环境变量
  • 启动

访问服务

访问http://localhost:8081/nexus/ 在右上角有个Log in 点击登录

  • 默认的用户名是 admin 密码是 admin123

Nexus中的仓库

类型介绍

 登陆Nexus,在左边菜单栏里选择Repositories,然后会出现右边的画面,右边上半部分是列出来的repository,黑体字是类型为group的repository。     

简单介绍下几种repository的类型:

  • hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
  • proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
  • group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。

管理本地仓库

    

hosted的为本地仓库,Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party.

  • Releases:

      这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库. 关于符合发布后面会有介绍.
    
  • Snapshots:

      这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.
    
  • 3rd Party:

      顾名思义, 第三方库, 你可能会问不是有中央仓库来管理第三方库嘛,没错, 这里的是指可以让你添加自己的第三方库, 比如有些构件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle 的JDBC驱动, 这个时候我们就需要自己添加到3rdparty仓库。
    

后续再补充一下配置自己的项目

IDEA 在项目中的配置

配置settings.xml文件

在 settings.xml 中添加:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</mirrors>  
<mirror>
<id>central</id>
<mirrorOf>*</mirrorOf>
<name>Central Repository</name>
<url>http://IP:8081/nexus/content/groups/public/</url>
</mirror>
</mirrors>


<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>

配置pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
<distributionManagement>  
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://IP/域名:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://IP/域名:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>

IDEA 的maven配置

选择配置好的settings.xml文件

发布jar包

执行deploy按钮就可以将 打好的 jar 包或者 war包上传到 私服中 (install 是将jar包 拷贝到本地仓库)

在后续使用过程中,多多总结提高吧