一、准备
- 安装jdk
- 下载Nexus OSS版,Nexus OSS版是社区版本,官网也有免费、付费版本可供选择。
- 创建目录:/usr/local/nexus
sudo mkdir /usr/local/nexus
- 赋予用户对目录的权限
sudo chown -R wh.wh nexus
- 解压安装包,得到nexus-3.5.1-02、sonatype-work两个文件夹
tar -zxvf nexus-3.5.1-02-unix.tar.gz
nexus-3.5.1-02:该目录包含Nexus运行所需要的文件,如启动脚本、依赖jar包等。
sonatype-work:该目录包含Nexus生成的配置文件、日志文件、仓库文件等。 -
删除安装包
-
rm nexus-3.5.1-02-unix.tar.gz
二、启动
- 启动
cd bin ./nexus start
- 停止
./nexus stop
-
查看服务状态
./nexus status
-
重启
./nexus restart
三、验证
- 访问Nexus界面,http://192.168.15.49:8081
- 登录:匿名用户仅包含基本权限,管理Nexus需要以管理员方式登录,Nexus默认管理员用户和密码为 admin/admin123
四、修改配置
- Nexus默认使用8081端口,可通过配置文件修改,保存重启即可生效。
五、仓库类型介绍
1.仓库类型共四种:group(仓库组)
hosted(宿主)
proxy(代理)
virtual(虚拟)
六、内置仓库介绍
- maven-central(代理类型):该仓库代理maven中央仓库,其策略为Release,因此只会下载和缓存中央仓库中的发布版本构件。
- maven-public(仓库组类型):该仓库将上述所有仓库聚合并通过一致的地址提供服务。
- maven-release(宿主类型):这是一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。
- maven-snapshots(宿主类型):这是一个策略为Snapshot的代理仓库,用来部署组织内部的快照版本构件。
七、项目中使用Nexus
- 在pom文件中配置仓库地址,只对当前项目有效
<!-- Nexus私服 --> <repositories> <repository> <id>nexus</id> <name>Nexus</name> <url>http://192.168.15.49:8081/repository/maven-public/</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>Nexus</name> <url>http://192.168.15.49:8081/repository/maven-public/</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories>
- 在maven的setting.xml文件中配置镜像,对当前机器所有maven项目有效
-
<!--配置镜像--> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://192.168.15.49:8081/repository/maven-public/</url> </mirror>
部署构件至Nexus
<distributionManagement> <repository> <id>nexus-releases</id> <name>Nexus Release Repository</name> <url>http://192.168.15.49:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://192.168.15.49:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
(Nexus的仓库对于匿名用户是只读的,为了能够部署构件,还要在settings.xml中配置认证信息)
<servers> <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>