什么电脑做网站前段用,网站建设工作人员有哪些职责,佛山营销型网站定制,网站平台建设技术报告【Maven】008-Maven 私服搭建与使用 文章目录 【Maven】008-Maven 私服搭建与使用一、概述1、简介2、建立私服后依赖查找和下载逻辑第一步#xff1a;请求本地仓库第二步#xff1a;请求 Maven 私服第三步#xff1a;请求外部远程仓库#xff08;远程中央仓库等#xff09…【Maven】008-Maven 私服搭建与使用 文章目录 【Maven】008-Maven 私服搭建与使用一、概述1、简介2、建立私服后依赖查找和下载逻辑第一步请求本地仓库第二步请求 Maven 私服第三步请求外部远程仓库远程中央仓库等参考图 3、Maven 私服的优势4、Maven 私服常用的产品 二、Nexus 下载、安装、初始设置1、下载地址目标 2、安装第一步解压到一个目录第二步启动第三步访问 http://localhost:8081/ 3、初始设置登录根据提示设置新密码禁用匿名登录初始化完成后 三、Nexus 上的仓库1、仓库2、仓库类型说明3、仓库名称说明4、初始状态仓库内为空 四、通过 Nexus 下载 jar 包1、将中央仓库地址设置为阿里云镜像地址第一步选择要修改的仓库第二步修改地址为阿里云镜像地址第三步保存配置 2、将本机 Maven 配置的阿里云镜像地址改成自己的私服地址第一步拷贝自己的私服仓库地址第二步修改本机 Maven 配置的阿里云镜像地址第三步添加访问用户名密码 3、通过 Nexus 下载 jar 包第一步修改本机 Maven 仓库地址第二步在 Maven 工程下执行 Maven 命令第三步查看私服仓库 五、将 jar 包部署到 Nexus1、Maven 工程中配置2、执行部署命令执行日志私服 六、引用别人部署的 jar 包1、Maven 工程中配置2、打包日志 一、概述
1、简介
Maven私服Repository Manager是一个用于管理和分发构建制品如JAR、WAR、POM文件等的服务器。它允许团队在本地搭建一个中央存储库用于保存和分享项目构建所需的依赖项。一些常见的Maven私服产品包括 Nexus、Artifactory 和 Apache Archiva 。
2、建立私服后依赖查找和下载逻辑
第一步请求本地仓库
当用户需要某个构件时首先会检查本地仓库是否已经存在所需构件。如果本地仓库中已经有所需构件系统将直接从本地仓库获取无需进行远程请求。
第二步请求 Maven 私服
如果本地仓库中不存在所需构件用户的请求将转向 Maven 私服。Maven 私服会检查自身的仓库如果存在所需构件将其下载到本地仓库并返回给用户。
第三步请求外部远程仓库远程中央仓库等
如果 Maven 私服也没有所需构件系统将尝试从外部的远程仓库通常是中央仓库中获取。如果外部远程仓库存在所需构件Maven 私服会将该构件下载并缓存到自身的仓库中然后将构件返回给用户。如果外部远程仓库中也不存在所需构件Maven 将报错指示找不到所需的依赖项。
参考图 3、Maven 私服的优势
加速构建过程 Maven 私服允许团队在本地搭建一个中央存储库使得构建时可以优先从局域网内的私服获取依赖项从而减少对外部远程仓库的依赖加速构建过程。降低对外部网络的依赖性 私服允许团队在没有互联网连接或网络较差的情况下进行构建。依赖项的本地缓存和私服的存在减少了对外部网络的依赖性提高了项目的可靠性。统一依赖管理 通过私服团队可以统一管理和控制项目所需的依赖项版本确保整个团队使用相同的构建制品降低了版本冲突和不一致性的可能性。安全性 私服可以提供访问控制和安全认证机制限制对仓库的访问确保只有授权的人员能够发布和获取构建制品。这有助于保护项目的代码和依赖项的安全性。本地镜像和缓存 私服可以缓存外部远程仓库中的构建制品降低了从外部仓库获取依赖项的延迟。此外私服还可以配置为本地镜像提供更快速的下载。离线部署 Maven 私服支持离线部署使得在没有互联网连接的环境中也能够构建和部署项目适用于一些安全要求较高或隔离网络的场景。
4、Maven 私服常用的产品
Nexus当前最流行、使用最广泛 Nexus 是 Sonatype 公司推出的一款流行的 Maven 私服产品。提供强大的仓库管理和安全性功能。支持多种仓库格式包括Maven、npm、Docker等。 Artifactory Artifactory是JFrog公司开发的另一款领先的构建制品仓库管理工具。支持各种包括 Maven、Gradle、npm 等的构建工具。具有高度可伸缩性和灵活的部署选项。 Apache Archiva Apache Archiva 是由 Apache 软件基金会提供的开源 Maven 私服工具。提供基本的仓库管理功能适用于小型项目或对简单配置有需求的团队。
二、Nexus 下载、安装、初始设置
1、下载
地址
https://help.sonatype.com/repomanager3/product-information/download
目标 2、安装
第一步解压到一个目录 第二步启动 使用管理员身份打开 CMD 切换到 bin 目录。 命令 安装nexus.exe /install bm-maven启动nexus.exe /start bm-maven停止nexus.exe /stop bm-maven卸载nexus.exe /uninstall bm-maven 第三步访问 http://localhost:8081/ 3、初始设置
登录 用户名admin 密码在 Nexus\sonatype-work\nexus3\admin.password 根据提示设置新密码 禁用匿名登录 初始化完成后 三、Nexus 上的仓库
1、仓库 2、仓库类型说明
仓库类型说明proxy某个远程仓库的代理group存放通过 Nexus 获取的第三方 jar 包hosted存放本团队其他开发人员部署到 Nexus 的 jar 包
3、仓库名称说明
仓库名称说明maven-centralNexus 对 Maven 中央仓库的代理maven-publicNexus 默认创建供开发人员下载使用的组仓库maven-releasesNexus 默认创建供开发人员部署自己 jar 包的宿主仓库 要求 releases 版本maven-snapshotsNexus 默认创建供开发人员部署自己 jar 包的宿主仓库 要求 snapshots 版本
4、初始状态仓库内为空 四、通过 Nexus 下载 jar 包
1、将中央仓库地址设置为阿里云镜像地址 为了加快国内下载速度 第一步选择要修改的仓库 第二步修改地址为阿里云镜像地址 http://maven.aliyun.com/nexus/content/groups/public/ 第三步保存配置 2、将本机 Maven 配置的阿里云镜像地址改成自己的私服地址
第一步拷贝自己的私服仓库地址 第二步修改本机 Maven 配置的阿里云镜像地址 第三步添加访问用户名密码 我们设置了禁止匿名访问 这里需要格外注意server 标签内的 id 标签值必须和 mirror 标签中的 id 值一样。 3、通过 Nexus 下载 jar 包
第一步修改本机 Maven 仓库地址 因为原本的仓库里面可能已经有很多内容了为了直观新建一个本地空仓库一个空文件夹让 Maven 直接向私服获取依赖 第二步在 Maven 工程下执行 Maven 命令
mvn clean compile部分下载过程日志
......
Downloaded from zibo-nexus-maven: http://localhost:8081/repository/maven-central/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.jar (217 kB at 42 kB/s)
Downloading from zibo-nexus-maven: http://localhost:8081/repository/maven-central/junit/junit/3.8.2/junit-3.8.2.jar
Downloaded from zibo-nexus-maven: http://localhost:8081/repository/maven-central/log4j/log4j/1.2.12/log4j-1.2.12.jar (358 kB at 63 kB/s)
Downloaded from zibo-nexus-maven: http://localhost:8081/repository/maven-central/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar (45 kB at 7.9 kB/s)
Downloaded from zibo-nexus-maven: http://localhost:8081/repository/maven-central/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.jar (134 kB at 23 kB/s)
Downloaded from zibo-nexus-maven: http://localhost:8081/repository/maven-central/junit/junit/3.8.2/junit-3.8.2.jar (121 kB at 21 kB/s)
Downloaded from zibo-nexus-maven: http://localhost:8081/repository/maven-central/com/google/collections/google-collections/1.0/google-collections-1.0.jar (640 kB at 89 kB/s)
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to D:\MyFile\IDEAProjects\mvn-demo\demo1\target\classes
[INFO]
[INFO] --------------------------- com.zibo:demo2 ---------------------------
[INFO] Building demo2 1.0-SNAPSHOT [3/3]
[INFO] from demo2\pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) demo2 ---
[INFO] Deleting D:\MyFile\IDEAProjects\mvn-demo\demo2\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) demo2 ---
[INFO] Using UTF-8 encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) demo2 ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to D:\MyFile\IDEAProjects\mvn-demo\demo2\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for mvn-demo 1.0-SNAPSHOT:
[INFO]
[INFO] mvn-demo ........................................... SUCCESS [ 8.613 s]
[INFO] demo1 .............................................. SUCCESS [01:22 min]
[INFO] demo2 .............................................. SUCCESS [ 0.079 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:31 min
[INFO] Finished at: 2024-01-14T13:26:4408:00
[INFO] ------------------------------------------------------------------------第三步查看私服仓库 五、将 jar 包部署到 Nexus 如出现问题请调整下面配置。 1、Maven 工程中配置 注意这里 repository 和 snapshotRepository 的 id 标签必须和 settings.xml 中指定的 mirror 标签的 id 属性一致。 distributionManagement!-- 部署正式版本Releasemvn clean deploy --repositoryidzibo-nexus-maven/idnamezibo nexus maven releases/nameurlhttp://localhost:8081/repository/maven-releases//url/repository!-- 部署快照版本Snapshotmvn clean deploy -DrepositoryIdzibo-nexus-maven --snapshotRepositoryidzibo-nexus-maven/idnamezibo nexus maven/nameurlhttp://localhost:8081/repository/maven-snapshots//url/snapshotRepository
/distributionManagement2、执行部署命令 mvn deploy 执行日志 私服 六、引用别人部署的 jar 包
1、Maven 工程中配置
dependenciesdependencygroupIdcom.zibo/groupIdartifactIddemo1/artifactIdversion1.0.0/version/dependency
/dependenciesrepositoriesrepositoryidzibo-nexus-maven/idnamezibo nexus maven/nameurlhttp://localhost:8081/repository/maven-releases//urlreleasesenabledtrue/enabled/releases/repository
/repositories2、打包日志