当前位置: 首页 > news >正文

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

环境准备

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

    • 安装 OpenJDKsudo apt update && sudo apt install openjdk-11-jdk

    • 安装 Oracle JDK :需要添加第三方仓库,例如 WebUpd8 团队的仓库,不过 Oracle JDK 的安装相对复杂一些,OpenJDK 已经可以满足大多数需求。

    • 安装完成后,通过java -version命令检查是否安装成功。

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

    • sudo apt update && sudo apt install maven

    • 安装完成后,通过mvn -version命令检查是否安装成功。

安装 Nexus

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

  2. 解压安装包 :使用以下命令解压安装包到指定目录,例如/opt/nexus

    • sudo tar -zxvf nexus-3.x.x-unix.tar.gz -C /opt/

  3. 配置运行用户 :默认情况下 Nexus 不能用 root 用户启动,需要创建一个用户来专门运行 Nexus:

    • 创建用户并设置密码:sudo useradd nexus && sudo passwd nexus

    • 修改/etc/security/limits.conf文件,在文件末尾加上nexus - nofile 65535,以提高文件打开数限制。

  4. 修改配置文件 :编辑/opt/nexus/bin/nexus.rc文件,设置运行 Nexus 的用户,将RUN_AS_USER=root改为RUN_AS_USER=nexus,并确保该用户有权限访问 Nexus 安装目录及其文件。

启动与登录 Nexus

  1. 启动服务 :进入 Nexus 安装目录的 bin 文件夹,执行以下命令启动 Nexus 服务:

    • sudo ./nexus start

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

  2. 访问管理界面 :在浏览器中输入http://<服务器 IP 地址>:8081访问 Nexus 的管理界面。

  3. 登录 :首次访问时,默认的用户名是 admin,初始密码可在/opt/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://<服务器 IP 地址>: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://<服务器 IP 地址>:8081/repository/maven-releases/</url></repository><snapshotRepository><id>maven-snapshots</id><name>nexus-snapshots</name><url>http://<服务器 IP 地址>: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>

相关文章:

  • ubuntu 22.04 换源
  • Java内存分配
  • 天选5Pro(锐龙版)设备声音、显卡消失等问题完整解决记录
  • C++使用PoDoFo库处理PDF文件
  • WPF实时调试的一种实现方法
  • 推测式思维树:让大模型快速完成复杂推理
  • 探索网络设备安全:Shodan 的原理与合法应用
  • 接口自动化测试框架详解(pytest+allure+aiohttp+ 用例自动生成)
  • C++GO语言微服务基础技术②
  • vite 代理 websocket
  • Golang中集合相关的库
  • 系统思考助力富维东阳
  • pycharm无法导入相对路径下其它文件
  • 书法机构用的教务管理系统
  • 从装饰器出发,优雅处理 UI 自动化中的异常
  • Ubuntu每次开机IP都是127.0.0.1
  • JS 问号(?)运算符避免中间报错
  • 【Python从入门到精通】--‘@‘符号的作用
  • ComfyUI 学习笔记,案例 6 :FLUX 模型文生图
  • 芯片测试之Open-Short Test全解析:从原理到实战
  • 乡村快递取件“跑腿费”屡禁不止?云南元江县公布举报电话
  • 上海优化营商环境再攻坚,企业和机构有哪些切实感受?
  • 全球第七个迪士尼主题公园将落户阿布扎比
  • 陈丹燕:赤龙含珠
  • 巴基斯坦军方:印度袭击已致巴方31人死亡
  • 云南一男子酒后经常殴打七旬母亲,被警方拘14日罚600元