Nexus3之在Window中搭建Maven私服

Nexus3之在Window中搭建Maven私服

文章目录

  • Nexus3之在Window中搭建Maven私服
  • [1. 下载](#1. 下载)
  • [2. 安装](#2. 安装)
  • [3. 创建用户及仓库](#3. 创建用户及仓库)
  • [4. maven的setting.xml文件修改](#4. maven的setting.xml文件修改)
  • [5. POM.xml文件修改](#5. POM.xml文件修改)

1. 下载

官网: https://www.sonatype.com/download-oss-sonatype

下载OSS免费版,如下载版本为:Nexus-3.16.0-latest-win64.zip

2. 安装

  • 先将Nexus-3.16.0-latest-win64.zip文件解压到指定目录,如:D:\Nexus-3.16.0目录下
  • 将D:\Nexus-3.16.0\nexus-3.16.2-01\bin 添加到环境变量的path路径后面
  • 以管理员身份打开cmd窗口,输入下面命令安装
shell 复制代码
# 注册服务
nexus /install Nexus3 #此命令直接注册到服务中,名称为Nexus3
# 启动服务
net start Nexus3

3. 创建用户及仓库

浏览器中打开Nexus图形界面后,输入管理员密码登录,默认账户/密码为 admin/admin123

注意:最新版本的admin会在安装目录下的admin.password文件中,首次登陆后修改admin密码接口,如:3.39.0-01的admin密码位置如下

Your admin user password is located in E:\warehouse\nexus-3.39.0-01\sonatype-work\nexus3\admin.password on the server.

  1. 创建一个用户,比如 yuan/yuan123
  2. 配置一个代理(proxy)仓库,如使用阿里云的maven仓库,URL: http://maven.aliyun.com/nexus/content/groups/public/
  3. 创建两个hosted(宿主)类型的仓库
shell 复制代码
#名称为yuan-releases的hosted仓库
http://localhost:8081/repository/yuan-releases/
#名称yuan-sanpshots的hosted仓库
http://localhost:8081/repository/yuan-snapshots/
  1. 创建一个group类型的仓库
shell 复制代码
#名称为yuan-public的group类型仓库
http://localhost:8081/repository/yuan-public/
  1. 将yuan-releases 与 yuan-snapshots 添加到仓库组 yuan-public中

4. maven的setting.xml文件修改

  1. server配置
xml 复制代码
<servers> 
	<!--发布版-->
	<server>
		 <id>yuan-releases</id>
		 <username>yuan</username>
		 <password>yuan123</password>
	 </server>
	<!--快照版-->
	 <server>
		 <id>yuan-snapshots</id>
		 <username>yuan</username>
		 <password>yuan123</password>
	 </server>
  </servers>
  1. mirrors配置
xml 复制代码
 <mirrors>  
	 <!--使用阿里云的镜像仓库-->
	 <mirror>
		<id>nexus-aliyun</id>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
		<mirrorOf>central</mirrorOf>
	 </mirror>	
	 <!--私服地址-->
	<mirror>
            <id>nexus-yuan</id>
            <mirrorOf>*</mirrorOf>
            <name>Nexus yuan</name>
            <url>http://localhost:8081/repository/yuan-public/</url>
    </mirror>
  </mirrors>
  1. profiles编写
xml 复制代码
<profiles>
    <!--使用指定的jdk版本-->
	<profile>
      <id>jdk8</id>
      <activation>
		<activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
      </activation>
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
      <!--私服库配置-->
	  <repositories>
        <repository>
            <id>nexus-yuan</id>
            <name>nexus yuan group</name>
            <url>http://localhost:8081/repository/yuan-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <!--私服插件配置-->
    <pluginRepositories>
        <pluginRepository>
            <id>nexus-yuan</id>
            <name>nexus yuan group</name>
            <url>http://localhost:8081/repository/yuan-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
    </profile>
  </profiles>
  <!--激活名称为jdk8的porfile-->
  <activeProfiles>
    <activeProfile>jdk8</activeProfile>
  </activeProfiles>

5. POM.xml文件修改

一般将私服配置到父工程的pom.xml文件中

  1. 在pom.文件中添加下面内容
xml 复制代码
<distributionManagement>
        <!--发布版仓库-->
        <repository>
            <!--这里的id配置一定要与settin.xml文件中server配置中的id一致,否则可能出现405错误-->
            <id>yuan-releases</id>
            <name>nexus yuan group</name>
            <url>http://localhost:8081/repository/yuan-releases/</url>
        </repository>
        <!--快照版仓库-->
        <snapshotRepository>
            <!--这里的id配置一定要与settin.xml文件中server配置中的id一致-->
            <id>yuan-snapshots</id>
            <name>nexus yuan group</name>
            <url>http://localhost:8081/repository/yuan-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
  1. 完成后,可在idea中执行maven的install命令进行安装
  2. install命令成功后,可执行deploy命令将jar发布的maven私服库中。
相关推荐
豪宇刘1 小时前
MyBatis的面试题以及详细解答二
java·servlet·tomcat
秋恬意1 小时前
Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别
java·数据库·mybatis
FF在路上2 小时前
Knife4j调试实体类传参扁平化模式修改:default-flat-param-object: true
java·开发语言
真的很上进2 小时前
如何借助 Babel+TS+ESLint 构建现代 JS 工程环境?
java·前端·javascript·css·react.js·vue·html
众拾达人2 小时前
Android自动化测试实战 Java篇 主流工具 框架 脚本
android·java·开发语言
皓木.2 小时前
Mybatis-Plus
java·开发语言
不良人天码星2 小时前
lombok插件不生效
java·开发语言·intellij-idea
守护者1703 小时前
JAVA学习-练习试用Java实现“使用Arrays.toString方法将数组转换为字符串并打印出来”
java·学习
源码哥_博纳软云3 小时前
JAVA同城服务场馆门店预约系统支持H5小程序APP源码
java·开发语言·微信小程序·小程序·微信公众平台
禾高网络3 小时前
租赁小程序成品|租赁系统搭建核心功能
java·人工智能·小程序