首页 > 其他分享 >学习笔记——Maven的核心概念之仓库、坐标;maven的依赖管理;Maven中统一管理版本号;Maven的继承;Maven的聚合

学习笔记——Maven的核心概念之仓库、坐标;maven的依赖管理;Maven中统一管理版本号;Maven的继承;Maven的聚合

时间:2023-01-08 20:22:06浏览次数:44  
标签:maven 版本号 spring jar Maven 仓库 pom

2023-01-08

一、Maven的核心概念

1、仓库

(1)仓库的分类

①本地仓库:为当前计算机提供maven服务

②远程仓库:为其他计算机提供maven服务

a.私服:架设在当前局域网环境下,为当前局域网范围内的所有Maven工程服务

b.中央仓库:架设在Internet上,为全世界所有Maven工程服务

c.中央仓库的镜像:架设在各大洲,为中央仓库分担流量。减轻中央仓库的压力,同时更快的响应用户请求

(2)仓库中包含的文件

①maven的插件

②第三方框架或工具的jar包

③自己研发的项目或模块

二、maven的坐标

(1)坐标由g-a-v组成

①<groupId>:公司或组织的域名倒序+当前项目名称

②<artifactId>:当前项目的模块名称

③<version>:当前模块的版本

(2)作用:使用坐标引入jar包

(3)应用

坐标的参考网址:

http://mvnrepository.com

打开网址

例如搜索“servlet”的依赖关系

 

 

 

 

点击内容,进行复制,复制到“pom.xml”中的“<dependencies>”标签内

三、maven的依赖管理

1、依赖范围(即“pom.xml”中的“</dependencies>”中的“</dependency>”的“<scope>”标签的值)

(1)compile(默认值):在main、test、Tomcat(服务器)下均有效

(2)test:只能在test目录下有效

(3)provided:在main、test下均有效,Tomcat(服务器)下无效

2、依赖传递性

(1)依赖原则:

路径最短者优先

先声明者优先

注:maven是可以自动解决jar包之间的依赖问题

四、Maven中统一管理版本号

 可以将相关jar包的版本号设置在“<properties>”中,在<dependency>中的<version>中使用“${spring-version}”进行设置

    <properties>
        <spring-version>6.0.3</spring-version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.hh</groupId>
            <artifactId>helloFriend</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring-version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring-version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring-version}</version>
        </dependency>

    </dependencies>

五、Maven的继承

1、maven中使用继承的注意点:

父工程打包方式,必须是pom方式

2、maven继承方式一

在父工程中的pom.xml中导入jar包,在子工程中统一使用(即所有子工程强制引入父工程jar包)

3、maven继承方式二

子类中需要引入jar包时再引入(常用)

(1)父类中的“pom.xml”中

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

(2)子工程中的“<parent>”设置“<relativePath>”相对路径

<parent>
        <artifactId>maven_demo</artifactId>
        <groupId>com.hh</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
</parent>

设置“依赖项”

<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
</dependencies>

注:用此方法继承,子工程中不能指定版本号

六、Maven的聚合

1、使用maven聚合的原因:

只要将子工程聚合到父工程中,就可以实现一个效果:安装或清除父工程,子工程会进行同步操作。(类似于绑定关系)

2、聚合的语法

在父工程的“pom.xml”中

<modules>
        <module>maven_helloworld</module>
        <module>HelloFriend</module>
        <module>MakeFriend</module>
</modules>

 

标签:maven,版本号,spring,jar,Maven,仓库,pom
From: https://www.cnblogs.com/isDaHua/p/17034442.html

相关文章

  • 1.Maven入门
    Maven入门笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html)视频教程(P42~P46)Maven是专门用于管理和构建Java项目的工具,它的主要功能有:提供了一套标准......
  • 学习笔记——在IDEA中创建Maven工程之HelloWord;Maven中常见的问题;Maven核心概念之POM
    2023-01-08一、在IDEA中创建Maven工程之HelloWord(1)新建一个Maven工程  最后点击“finish”,完成项目创建(2)在创建的项目下,选中“maven_demo”,右击新建“Module”,选......
  • 学习笔记——Maven的基本配置、Maven基本使用、将Maven整合到IDEA中
    2023-01-08一、Maven的基本配置(1)maven配置文件位置maven根目录/conf/settings.xml①设置本地仓库默认的本地仓库是在“C:\Users\Lenovo\.m2\repository”中,第一次安装......
  • DevOps实战系列【第五章】:基于Gitlab/Maven/Jenkins/Docker实战案例详解
    个人亲自录制全套DevOps系列实战教程:​​手把手教你玩转DevOps全栈技术​​从创建Jenkins的job开始1.gitlab设置:我们从新建一个jenkins任务开始,建一个自由风格项目,我们暂时......
  • DevOps实战系列【第三章】:详解Maven仓库及环境搭建
    个人亲自录制全套DevOps系列实战教程:​​手把手教你玩转DevOps全栈技术​​Maven私有仓库,就不多说了,我们这里选用最新的Nexus3的3.17版本,平时公司使用的都是Nexus2.x,新的......
  • 学习笔记——Maven
    2023-01-08一、Maven1.使用“Maven”的原因①获取第三方jar包可以统一在一个地方下载资源jar包(位置在“阿里云的镜像服务器”)②添加第三方jar包jar包统一存储Maven本......
  • java学习笔记(九)---maven
    1、概念maven是提供专门用于管理和构建Java项目的工具,它的主要功能有:提供了一套标准化的项目结构 提供了一套标准化的构建流程(编译,测试,打包,发布...)提供了一套依赖管......
  • IDEA集成maven
    IDEA自带一个maven,当我们在设置搜索maven的时候可以看到它默认使用自带的maven:但是他这个maven版本会比较低,换我自己maven修改上面两个路径,我们的IDEA里面就有maven啦......
  • maven安装配置:
    配置环境变量:【跟Java差不多我就不给图了】找到maven安装的bin目录所对应的路径:这里我的路径是:E:\xx\软件工具\apache-maven-3.5.2然后在环境变量新建一个变量MAVEN_H......
  • Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:tes
    报错Failedtoexecutegoalorg.apache.maven.plugins:maven-surefire-plugin:2.22.2:test(default-test)onprojectdemo2:Therearetestfailures.问题原因:......