Maven高级(四)--私服

这篇具有很好参考价值的文章主要介绍了Maven高级(四)--私服。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.作用


我们所拆分的模块是可以在同一个公司各个项目组之间的项目组之间进行资源共享的,这就需要Maven的私服来实现。

二.场景


两个项目组之间如何基于私服进行资源的共享的呢?
例如A开发了一个模块tlias-utils,B团队进行项目开发,要想使用tlias-utils中提供的工具类,怎么办呢?在pom.xml文件中引入对应的坐标。
当B团队在maven项目的pom.xml配置文件中引入依赖之后,maven如何查找这个依赖?查找顺序:
(1)本地仓库:只在A团队的本地仓库有这个依赖jar包,B的本地仓库没有。
(2)远程中央仓库:中央仓库全球只有一个,不是什么人都可以往中央仓库中来上传jar包的,我们是没有权限操作的。

所以此时maven的私服就出场了,私服其实就是架设在公司局域网内部的一台服务器,就是一种特殊的远程仓库。
Maven高级(四)--私服,maven,java,数据库

 这样各个团队可以连接私服上传jar包,如果我们在项目中需要使用其他第三方提供的依赖,如果本地仓库没有,也会自动连接私服下载,如果私服没有,私服此时会自动连接中央仓库,去中央仓库中下载依赖,然后将下载的依赖存储在私服仓库及本地仓库中。

三.概念

【1】私服:是一种特殊的远程仓库,它是假设在局域网内的仓库服务,用来代理位于外部的中央仓库,用于解决团队内部的资源共享与资源同步的问题。
【2】依赖查找顺序:
本地仓库->私服仓库->中央仓库

四.具体步骤

资源的上传与下载,我们需要做三步配置,执行一条指令。
第一步配置:在maven的配置文件中配置访问私服的用户名和密码。--在自己maven安装目录下的conf/setting.xml中的servers中配置。例:

<server>
    <id>maven-releases</id>
    <username>admin</username>
    <password>admin</password>
</server>
    
<server>
    <id>maven-snapshots</id>
    <username>admin</username>
    <password>admin</password>
</server>

第二步配置:在maven的配置文件中配置连接私服的地址(url地址,依赖下载的仓库组地址)--在自己maven安装目录下的conf/settings.xml中的mirrors,profiles中配置。例:

<mirror>
    <id>maven-public</id>
    <mirrorOf>*</mirrorOf>
    <url>http://192.168.150.101:8081/repository/maven-public/</url>
</mirror>

<profile>
    <id>allow-snapshots</id>
        <activation>
        	<activeByDefault>true</activeByDefault>
        </activation>
    <repositories>
        <repository>
            <id>maven-public</id>
            <url>http://192.168.150.101:8081/repository/maven-public/</url>
            <releases>
            	<enabled>true</enabled>
            </releases>
            <snapshots>
            	<enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
</profile>

第三步配置:IDEA的maven工程的pom文件中配置上传(发布地址)--直接在tlias-parent中配置发布地址。例:

<distributionManagement>
    <!-- release版本的发布地址 -->
    <repository>
        <id>maven-releases</id>
        <url>http://192.168.150.101:8081/repository/maven-releases/</url>
    </repository>

    <!-- snapshot版本的发布地址 -->
    <snapshotRepository>
        <id>maven-snapshots</id>
        <url>http://192.168.150.101:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

配置好了上述三步之后,要上传资源到私服仓库,就执行maven声明周期:deploy。

补充:

【1】私服仓库说明
RELEASE:存储自己开发的RELEASE发布版本的资源。
SNAPSHOT:存储自己开发的SNAPSHOT发布版本的资源。
 Central:存储的是从中央仓库下载下来的依赖。

【2】项目版本说明
RELEASE(发布版本):功能趋于稳定、当前更新停止,可以用于发行的版本,存储在私服中的RELEASE仓库中。
SNAPSHOT(快照版本):功能不稳定、尚处于开发中的版本,即快照版本,存储在私服的SNAPSHOT仓库中。文章来源地址https://www.toymoban.com/news/detail-540866.html

到了这里,关于Maven高级(四)--私服的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介

    IDEA上面书写wordcount的Scala文件具体操作 IDEA创建项目的操作步骤以及在虚拟机里面创建Scala的项目简单介绍 目录 系列文章目录 前言 一 准备工作 1.1 安装Maven 1.1.1 Maven安装配置步骤 1.1.2 解压相关的软件包 1.1.3 Maven 配置环境变量 1.1.4 配置Maven的私服 1.2 创建一个本地的MySQL数据

    2024年02月04日
    浏览(44)
  • java springboot VUE粮食经销系统开发mysql数据库web结构java编程计算机网页源码maven项目

    一、源码特点   springboot VUE 粮食经销系统是一套完善的完整信息管理类型系统,结合springboot框架和VUE完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发) ,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 springboot vue 粮食经销系统

    2024年02月05日
    浏览(34)
  • ideaSSM校医院管理网页模式开发mysql数据库web结构java编程计算机网页源码maven项目

    一、源码特点   idea ssm 校医院管理系统是一套完善的完整信息管理系统,结合SSM框架完成本系统SpringMVC spring mybatis ,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发), 系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术 js css jquery 后

    2024年03月20日
    浏览(34)
  • Springboot 订餐管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

    一、源码特点   springboot 订餐管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有 完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术 bootstrap.css jquery 后端主

    2024年02月07日
    浏览(41)
  • ideaSSM医院挂号管理系统VS开发mysql数据库web结构java编程计算机网页源码maven项目

    一、源码特点   SSM医院挂号管理系统是一套完善的完整医院类型系统,结合SSM框架和bootstrap完成本系统SpringMVC spring mybatis ,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式 开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 ideaSSM医院挂号管理系

    2024年02月03日
    浏览(29)
  • idea Springboot 高校科研资源共享系统VS开发mysql数据库web结构java编程计算机网页源码maven项目

    一、源码特点   springboot 高校科研资源共享系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发), 系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 springboot 高校科研资源共享

    2024年02月07日
    浏览(52)
  • DAY07_Maven高级——分模块开发与设计&依赖管理&聚合与继承&属性管理&多环境配置与应用&私服

    问题导入 分模块开发对工程有什么好处? 模块拆分原则 目的:项目的扩展性变强了,方便其他项目引用相同的功能。 将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享 问题导入 一个完整的工程依据什么来进行模块的拆分? 2.1 创建Maven模块 2.2 书

    2024年02月09日
    浏览(35)
  • Maven和MyBatis框架简单实现数据库交互

    MyBatis是一种基于Java语言的持久层框架,它的主要目的是简化与数据库的交互过程。MyBatis通过XML或注解配置来映射Java对象和数据库表之间的关系,并提供了灵活的查询方式和结果集处理机制。MyBatis还提供了事务管理、缓存机制、插件扩展等特性。 使用MyBatis可以将SQL语句和

    2024年01月17日
    浏览(38)
  • 【Java架构-包管理工具】-Maven私服搭建-Nexus(三)

    Maven作为Java后端使用频率非常高的一款依赖管理工具,在此咱们由浅入深,分三篇文章(Maven基础、Maven进阶、私服搭建)来深入学习Maven,此篇为开篇主要介绍Maven私服搭建-Nexus 使用Docker进行安装 拉取镜像 docker pull sonatype/nexus3 启动镜像 docker run -d -p 8081:8081 --name nexus -v /som

    2024年02月11日
    浏览(32)
  • maven如何建立JavaWeb项目并连接数据库,验证登录

    这里是建立建立web项目:Maven如何创建Java web项目(纯干货版)!!!_明天更新的博客-CSDN博客 我们主要演示如何连接数据库验证登录。 1.在webapp目录下创建我们的登录页面:index.jsp    还需要再写一个验证登录成功的页面(如果页面跳转成功就代表登录成功)  内容如下:

    2024年02月13日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包