maven如何搭建自己的私服(windows版)?

环境准备

  1. 安装 JDK :确保系统已安装 JDK 8 或更高版本。可以通过以下步骤安装 JDK:

    • 下载 JDK 安装包,可以从Oracle 官方网站下载适用于 Windows 的 JDK 安装程序。

    • 运行安装程序,按照提示完成安装。安装过程中可以指定安装路径,例如C:\Program Files\Java\jdk-11。

    • 安装完成后,配置系统环境变量:

      • 右键点击"此电脑"或"计算机"图标,选择"属性"。

      • 点击"高级系统设置",在"系统属性"窗口中点击"环境变量"按钮。

      • 在"系统变量"区域,找到Path变量,点击"编辑",然后添加 JDK 的bin目录路径,例如C:\Program Files\Java\jdk-11\bin。

      • 新建一个系统变量,变量名为JAVA_HOME,变量值为 JDK 的安装路径,例如C:\Program Files\Java\jdk-11。

    • 通过命令提示符(cmd)检查是否安装成功,输入java -version和javac -version命令,查看是否能正确显示版本信息。

  2. 安装 Maven :可以通过以下步骤安装 Maven(但 Maven 私服搭建更多依赖于 Nexus,Maven 本身主要用于项目本地构建,安装 Maven 主要是方便后续项目开发使用):

    • 下载 Maven 安装包,可以从Apache Maven 官方网站下载适用于 Windows 的 Maven 二进制文件(zip 格式)。

    • 解压下载的 zip 文件到指定目录,例如C:\Program Files\Apache\maven。

    • 配置系统环境变量:

      • 右键点击"此电脑"或"计算机"图标,选择"属性"。

      • 点击"高级系统设置",在"系统属性"窗口中点击"环境变量"按钮。

      • 在"系统变量"区域,找到Path变量,点击"编辑",然后添加 Maven 的bin目录路径,例如C:\Program Files\Apache\maven\bin。

      • 新建一个系统变量,变量名为MAVEN_HOME,变量值为 Maven 的解压路径,例如C:\Program Files\Apache\maven。

    • 通过命令提示符(cmd)检查是否安装成功,输入mvn -version命令,查看是否能正确显示版本信息。

安装 Nexus

  1. 下载 Nexus :从Nexus 官方网站下载适用于 Windows 的 Nexus 安装包,通常是 zip 格式。

  2. 解压安装包 :使用解压工具(如 WinRAR 或 7-Zip)将下载的 zip 文件解压到指定目录,例如C:\nexus。

  3. 安装服务 :进入解压后的bin目录,以管理员身份运行命令提示符,执行以下命令安装服务:

    • nexus.exe /install

    • 安装成功后,可以使用以下命令启动服务:

      • nexus.exe /start

启动与登录 Nexus

  1. 启动服务 :如果之前没有启动服务,可以使用以下命令启动:

    • 以管理员身份运行命令提示符,进入C:\nexus\bin目录,执行nexus.exe /start命令。

    • 默认情况下,Nexus 会监听本地的 8081 端口。

  2. 访问管理界面 :在浏览器中输入http://localhost:8081访问 Nexus 的管理界面。

  3. 登录 :首次访问时,默认的用户名是 admin,初始密码可以在安装目录下的sonatype-work\nexus3\admin.password文件中找到,登录后建议修改默认密码。

配置 Nexus 仓库

  1. 创建仓库 :登录 Nexus 管理界面后,可以根据需求创建不同类型的仓库,如 Hosted 类型的仓库用于存储团队内部开发的项目构件,Proxy 类型的仓库代理公共仓库,Group 类型的仓库将多个仓库聚合在一起,方便统一管理和访问。

  2. 配置仓库 :在创建仓库时,设置仓库的 ID、名称、描述等基本信息,以及存储路径、快照策略等高级配置。

配置 Maven 项目使用私服

  1. 修改 settings.xml 文件 :在 Maven 的conf目录下的settings.xml文件中,配置私服相关信息:

    • 在<servers>标签中添加私服的认证信息,如:

      • <server>,<id>nexus-releases</id>,<username>your_username</username>,<password>your_password</password>,</server>

      • 这里的 id 要与项目pom.xml中配置的仓库 id 相对应。

    • 在<mirrors>标签中配置仓库地址,如:

      • <mirror>,<id>nexus</id>,<mirrorOf>*</mirrorOf>,<name>Nexus Repository</name>,<url>http://localhost:8081/repository/maven-public/</url>,</mirror>

      • 上述配置表示将所有的仓库请求都指向搭建的 Nexus 私有仓库中的 maven-public 组仓库。

  2. 在<profiles>标签中配置多仓库使用 :根据需求设置不同仓库的启用状态等。

上传构件至私服

  1. 手动部署 :可以直接将构件文件(如 jar 包)通过 Nexus 管理界面上传到私服仓库中。在管理界面中找到对应的仓库,点击"上传"按钮,选择要上传的构件文件并提交即可。

  2. 构建时自动部署 :在 Maven 项目的pom.xml文件中,通过<distributionManagement>标签配置项目的发布仓库和快照仓库,将项目的构建结果自动部署到私服中。例如:

    • <distributionManagement>,<repository>,<id>maven-releases</id>,<name>nexus-releases</name>,<url>http://localhost:8081/repository/maven-releases/</url>,</repository>,<snapshotRepository>,<id>maven-snapshots</id>,<name>nexus-snapshots</name>,<url>http://localhost:8081/repository/maven-snapshots/</url>,</snapshotRepository>,</distributionManagement>

    • 然后在项目根目录下运行mvn deploy命令,Maven 会根据配置将项目的构建结果部署到私服的对应仓库中。

使用私服中的构件

在项目的pom.xml文件中,通过<dependency>标签引用私服中的构件,Maven 在构建项目时会自动从配置的私服中下载所需的依赖。例如: <dependency>,<groupId>org.example</groupId>,<artifactId>my-library</artifactId>,<version>1.0.0</version>,</dependency>。

相关推荐
h39741 小时前
DirectShow过滤器开发-视频源过滤器
c++·windows·音视频·directshow
代码什么用4 小时前
Spring基础使用
java·后端·spring
Su米苏5 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
码云数智-园园5 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁5 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网5 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西6 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨6 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
小卡车5556 小时前
java反射、自定义注解的应用(自定义分页)
java
BLUcoding7 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom