我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Maven实战之如何搭建Maven私服和镜像

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Maven实战之如何搭建Maven私服和镜像

这篇文章将为大家详细讲解有关Maven实战之如何搭建Maven私服和镜像,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

准备工作

安装3.6.*的Nexus

理论

Nexus的仓库类型

  1. hosted(宿主):宿主仓库主要用于存放项目部署的构件、或者第三方构件用于提供下载。

  2. proxy(代理):代理仓库就是对远程仓库的一种代理,从远程仓库下载构件和插件然后缓存在Nexus仓库中

  3. group(仓库组):仓库的一种组合策略,并不存在实在意义的依赖,只是作为一种中转站的作用存在。

Maven实战之如何搭建Maven私服和镜像

Nexus内置仓库类型

  1. maven-central:代理中央仓库、策略为Release、只会下载和缓存中央仓库中的发布版本构件。

  2. maven-releases:策略为Release的宿主仓库、用来部署组织内部的发布版本内容。

  3. maven-snapshots:策略为Snapshot的宿主仓库、用来部署组织内部的快照版本内容。

  4. maven-public:该仓库将上述所有策略为Release的仓库聚合并通过一致的地址提供服务。

  5. nuget-hosted:用来部署nuget构件的宿主仓库

  6. nuget.org-proxy:代理nuget远程仓库,下载和缓冲nuget构件。

  7. nuget-group:该仓库组将nuget-hosted与nuget.org-proxy仓库聚合并通过一致的地址提供服务。

  8. maven-public:该仓库组将maven-central,maven-releases与maven-snapshots仓库聚合并通过一致的地址提供服务。

如下图

Maven实战之如何搭建Maven私服和镜像

搭建私服流程

  1. 打开Nexus地址,账号密码默认【admin】【admin123】

  2. 点击【Create repository】,选择【maven2(hosted)】类型,如下图填写相关信息

Maven实战之如何搭建Maven私服和镜像

Maven实战之如何搭建Maven私服和镜像

按步骤二构建一个【testSnapshot】仓库

构建一个maven项目,在POM文件里面,配置以下信息:

<distributionManagement>    <repository>      <id>releases</id>      <url>http://192.168.0.1:8888/repository/testRelease/</url>    </repository>    <snapshotRepository>      <id>Snapshots</id>      <url>http://192.168.0.1:8888/repository/testSnapshot/</url>    </snapshotRepository>    <!-- 这边url就是仓库的路径 -->  </distributionManagement>  <build>    <plugins>      <!-- 打jar包插件 -->      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-jar-plugin</artifactId>        <version>3.0.2</version>        <configuration>          <excludes>            <exclude>**/*.properties</exclude>          </excludes>        </configuration>      </plugin>      <!-- 打包源码插件 -->      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-source-plugin</artifactId>        <version>3.0.1</version>        <configuration>          <attach>true</attach>        </configuration>        <executions>          <execution>            <phase>compile</phase>            <goals>              <goal>jar</goal>            </goals>          </execution>        </executions>      </plugin>    </plugins>  </build>

配置在maven的setting文件,仓库用户账号密码

<servers>  <server>    <id>release</id>    <username>user</username>    <password>123456</password>  </server>  <server>    <id>Snapshots</id>    <username>user</username>    <password>123456</password>  </server></servers>//这边id需保持和上面仓库id一致

输入mvn命令打包上传

mvn clean source:jar packagemvn deploy -e

查看Nexus的【Components】,如下便是成功

Maven实战之如何搭建Maven私服和镜像

引用如下,在引用项目的pom.xml中配置如下

<!-- nexus私服配置 --><repositories>  <repository>    <id>nexus</id>    <name>Nexus Repository</name>    <url>http://192.168.2.20:8081/repository/java/</url>    <releases>      <enabled>true</enabled>    </releases>    <!--snapshots默认是关闭的,需要开启 -->    <snapshots>      <enabled>true</enabled>    </snapshots>  </repository></repositories><dependencies>  <dependency>    <groupId>com.example</groupId>    <artifactId>utils</artifactId>    <version>1.0</version>  </dependency></dependencies>

搭建镜像流程

  1. 现在就是结合仓库组,来处理各种请求从代理仓库或者宿主仓库获取实际构件内容。

  2. 创建【仓库组】testGroup和【代理仓库】testProxy

  3. 在【仓库组】的members添加【代理仓库】testProxy【宿主仓库】testRelease和testSnapshot。引用的顺序会决定仓库组遍历仓库的顺序。

Maven实战之如何搭建Maven私服和镜像

在Maven的setting配置如下

<mirrors>   <mirror>    <id>mirror</id>    <mirrorOf>*</mirrorOf>    <name>Nexus aliyun</name>    <url>http://116.62.220.224:8888/repository/testGroup/</url>  </mirror> </mirrors> <servers>  <server>    <id>mirror</id>    <username>user</username>    <password>123456</password>  </server> </servers>

这样所有maven项目都会从这个镜像引用依赖

关于“Maven实战之如何搭建Maven私服和镜像”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Maven实战之如何搭建Maven私服和镜像

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Maven实战之如何搭建Maven私服和镜像

这篇文章将为大家详细讲解有关Maven实战之如何搭建Maven私服和镜像,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。准备工作安装3.6.*的Nexus理论Nexus的仓库类型hosted(宿主):宿主仓
2023-05-30

如何搭建maven私服

小编给大家分享一下如何搭建maven私服,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!私服说明maven仓库分为本地仓库和远程仓库,而远程仓库又分为maven中央
2023-06-25

基于jib-maven-plugin插件如何快速构建微服务docker镜像

这篇文章主要介绍“基于jib-maven-plugin插件如何快速构建微服务docker镜像”,在日常操作中,相信很多人在基于jib-maven-plugin插件如何快速构建微服务docker镜像问题上存在疑惑,小编查阅了各式资料,整理出简
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录