maven内部服务器(一) 环境搭建

本文介绍在ubuntu系统中,使用maven搭建局域网服务的方式。主要用到的工具有JDK、nexus。

目录
1. 背景介绍
2. nexus环境搭建
3. nexus管理页面
4. 参考链接

1. 背景介绍

maven是一个项目构建和管理的工具。通过搭建一个maven内部服务器,可以快速的复用一些公用的库。

下面,就开始介绍如何在ubuntu系统中搭建maven内部服务器nexus

2. nexus环境搭建

第1步 下载nexus安装包

点击下载nexus-2.11.4-01-bundle.tar.gz或者打开nexus官网,选择"NEXUS OSS"进行下载。如下图

img

这里下载的nexus安装包是:nexus-2.11.4-01-bundle.tar.gz

第2步 解压nexus安装包

解压nexus安装包到某个目录。nexus的解压目录没有要求,放在任何地方都可以。

$ tar -xvf nexus-2.11.4-01-bundle.tar.gz -C /home/skywang/opt

说明:解压nexus后,得到两个文件夹"nexus-2.11.4-01"和"sonatype-work"。
(1) nexus-2.11.4-01是nexus的主目录,所有运行程序和配置文件都在里面。
(2) sonatype-work是nexus的数据目录,nexus-oss中是运行过程的maven仓库数据。

第3步 配置nexus到环境变量中

在~/.bashrc中添加以下内容:

## nexus的路径
export NEXUS_HOME=/home/skywang/opt/nexus-2.11.4-01
## 将nexus的运行程序路径添加到默认环境变量中
export PATH=$PATH:$NEXUS_HOME/bin

第4步 运行nexus

配置了nexus之后,新开一个终端;使用nexus start启动nexus。

$ nexus start
Starting Nexus OSS...
Started Nexus OSS.

说明:如果nexus能正常启动,则配置nexus成功!
若要停止nexux,则运行$ nexus stop即可。

3. nexus管理页面

3.1 启动nexus管理页面

nexus启动之后,在浏览器输入nexus的地址http://IP地址:8081/nexus/可以打开nexus。

如果是打开本机的nexus,则在浏览器输入以下网址:

http://127.0.0.1:8081/nexus/

如果是打开服务器的nexus,则将"127.0.0.1"改为服务器的地址即可!

img

3.2 登录nexus

点击右上角的"login"界面,出现登录对话框。输入用户名/密码。

用户名:admin
密码:admin123

img

3.3 nexus界面简介

登录之后的nexus界面如下:

img

左边是控制栏区域,比较重要的一项是"Repositories",即仓库栏。

点击"Repositories"会打开右边窗口,显示全部的仓库。每一个仓库都有type、Health Check、Format、Policy、Repository Status和Repository Path等属性。说明一下比较重要的几个属性:

  1. type: 它表示仓库类型。主要有group、hosted、proxy、virtual四种类型。
      不同类型的仓库有不用的作用和工作模式,一般只需要关注group、hosted、proxy三种类型。由于nexus oss上面可以有多个maven仓库,但是maven这个工具要求使用groupId:artifactId:version这三个参数就能唯一确定一个项目,因此nexus oss使用group类型的仓库来决定nexus oss上各个maven仓库的优先级,以解决不同maven拥有相同项目的冲突。proxy类型的仓库其实只是个代理,用于代理其他服务器上的maven仓库。hosted类型是nexus oss自己所在服务器本地的maven仓库,也是我们本地主要使用的仓库类型。
  2. Policy: 它表示仓库的发布策略。一般都是Snapshot或Release。Snapshot表示是快照(临时)版本,而Release则表示发行版本。
  3. Repository Path: 它表示仓库的地址。在maven或gradle中引用该仓库就需要用到该地址。

每个仓库除了有属性之外,还有配置信息。配置信息有Browse Index、Browse Storage、Configuration、Routing等。其中,就最重要的Configuration来进行说明:
Deployment Policy: 有Allow Redeploy(允许部署)、Disable Redeploy(不允许部署)、Read Only(只读)三种模式。只有在Allow Redeploy模式下,我们才有权限可以将我们的项目发布到这个项目中。nexus oss默认已经建立了Releases和snapshots两个hosted仓库,我们检查一下配置就可以直接拿来用,当然你也可以自己建立hosted仓库。

4. 参考链接

  1. nexus官网
  2. 建立企业内部maven服务器并使用Android Studio发布公共项目
by skywang
Previous     Next