1、官方安装文档
2、Docker 环境下搭建nexus私服 (主要参考)
3、 sonatype/nexus3(docker hub)
6、Linux (Ubuntu)安装nexus,搭建maven私有服务器
7、Nexus 3.x 安装/配置/使用
8、https://help.sonatype.com/repomanager3/user-interface/working-with-your-user-profile
9、Nexus3.x安装及配置
11、Nexus私服搭建及settings.xml配置详细教程 (参考一)
13、【Maven】---Nexus私服配置Setting和Pom (参考四)
安装nexus3
1、查找镜像
docker search nexus
一般安装star
数最多的版本,目前最新是sonatype/nexus3
2、拉取镜像
docker pull sonatype/nexus3
3、启动镜像
#指定虚拟机与容器共享的文件夹 mkdir /usr/local/docker/nexus/nexus-data #指定数据卷后启动,可能会报一些权限错误,导致启动不起来。可能会需要修改文件夹权限 chmod 777 /usr/local/docker/nexus/nexus-data #启动容器 docker run -p 8081:8081 --name nexus -v /usr/local/docker/nexus/nexus-data:/nexus-data snoatype/nexus3
创建阿里云Proxy仓库
1、Repository-->Repositories-->Create repository-->maven2(proxy)
附阿里云中央仓库地址:http://maven.aliyun.com/nexus/content/groups/public/
2、配置仓库组(默认已有一个maven-public):
把刚创建的阿里仓库加入maven-public仓库组
Repository-->Repositories-->Create repository-->maven2(group)
注:注意仓库顺序。maven查找依赖时会依次遍历仓库组中的仓库。
在Maven 中使用Nexus
为了能让本机所有的Maven项目都使用Nexus本地仓库,需要对settings.xml文件进行修改,但setting.xml并不支持直接配置repositories和pluginRepositories,因此需要使用Maven提供的Profile机制,将仓库配置放到setting.xml中的Profile中。代码清单如下:
<?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>insuresmart-nexus</id> <username>admin</username> <password>admin</password> </server> <!-- 设置私库认证信息(发布) --> <server> <id>insuresmart-nexus-releases</id> <username>admin</username> <password>admin</password> </server> <server> <id>insuresmart-nexus-snapshots</id> <username>admin</username> <password>admin</password> </server> </servers> <!--设置私库mirror 表示maven所有的请求都由nexus来处理 --> <mirrors> <mirror> <id>insuresmart-nexus</id> <name>Yitong Nexus Repository</name> <mirrorOf>*</mirrorOf> <url>http://192.168.124.125:8081/repository/maven-public/</url> </mirror> </mirrors> <!--设置maven私库信息 --> <profiles> <profile> <id>insuresmart-nexus</id> <repositories> <repository> <id>insuresmart-nexus</id> <name>insuresmart nexus repository</name> <url>http://192.168.124.125:8081/repository/maven-public/</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>insuresmart-nexus</id> <name>insuresmart nexus repository</name> <url>http://192.168.124.125:8081/repository/maven-public/</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </pluginRepository> </pluginRepositories> </profile> <!--覆盖maven中央仓库设置开启releases和snapshots版本的下载--> <profile> <id>central</id> <repositories> <repository> <id>central</id> <url>http://central</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://central</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <!--激活私库信息的配置 --> <activeProfiles> <activeProfile>insuresmart-nexus</activeProfile> <activeProfile>central</activeProfile> </activeProfiles> </settings>
pom.xml文件配置
<!--当前项目发布到远程仓库中--> <distributionManagement> <repository> <id>insuresmart-nexus-releases</id> <name>insuresmart-nexus-releases</name> <url>http://192.168.124.125:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>insuresmart-nexus-snapshots</id> <name>insuresmart-nexus-snapshots</name> <url>http://192.168.124.125:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
标签id的值必须与setting文件中server标签中的值一致。
然后在需要部署的文件上使用 mvn clean deploy 部署到nexus私服上。
<server> <id>insuresmart-nexus-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>insuresmart-nexus-snapshots</id> <username>admin</username> <password>admin123</password> </server>
部署
然后在需要部署的文件上使用 mvn clean deploy 部署到nexus私服上。
IntelliJ IDEA 可以直接使用Maven下的deploy进行部署
备注:install 是安装到本地仓库,也即本机如:C:\Users\Admin\.m2\repository\里
参考: