Nexus是Sonatype公司的一款maven私服产品,是一个强大的 Maven 仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。
1. 安装、启动
解压后进入bin目录,执行
nexus /run nexus
访问服务器,默认端口:8081
2. 配置
修改基础配置信息
安装路径下etc目录中nexus-default.properties文件保存有nexus基础配置信息,例如默认访问端口
修改服务器运行配置信息
安装路径下bin目录中nexus.vmoptions文件保存有nexus服务器启动对应的配置信息,例如默认占用内存空间
3. 仓库分类
宿主仓库hosted:
保存无法从中央仓库获取的资源
自主研发
第三方非开源项目
代理仓库proxy:
代理远程仓库,通过nexus访问其他公共仓库,例如中央仓库
仓库组group:
将若干个仓库组成一个群组,简化配置
仓库组不能保存资源,属于设计型仓库
文件夹图标:对应仓库组
仓库带个🔒的图标:代理仓库proxy
仓库默认图标:宿主仓库
4. 资源上传
maven的settings文件中配置本地仓库访问私服的权限:
<server> <!-- id可以自定义,和pom中保持一致就行 --> <id>releases</id> <username>admin</username> <password>admin</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>admin</password> </server>
配置本地仓库资源来源:
<mirror> <!--该镜像的唯一标识符。id用来区分不同的mirror元素--> <id>maven-public</id> <!--镜像名称 --> <name>maven-public</name> <!--*指的是访问任何仓库都使用我们的私服--> <mirrorOf>*</mirrorOf> <!--仓库组URL --> <url>http://localhost:8081/repository/maven-public/</url> </mirror>
pom文件中配置:
<distributionManagement> <repository> <id>releases</id> <name>Releases</name> <!-- 指定发布仓库 --> <url>http://localhost:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <name>Snapshot</name> <url>http://localhost:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
发布资源到私服命令:
mvn deploy