Maven 学习内容

Maven 简介

Maven 是一个基于项目对象模型(POM)的项目管理工具,主要用于 Java 项目的构建、依赖管理和项目信息管理。它简化了构建过程,提供了一种标准化的方式来管理项目结构和依赖关系。

一、依赖进阶

(1)直接依赖和间接依赖

A依赖B,B依赖于C

A和B之间就是直接依赖;

A和C之间就是间接依赖;

依赖关系具有传递性。

(2)依赖的原则

a.路径最短者优先:本身有的依赖为先,直接依赖为次,间接依赖为后

b.路径相同时先声明者优先:这里"声明的先后顺序是指dependcy标签配置的先后顺序

(3)依赖的排除

在<dependency>中<exclusions>可以排除引入模块的依赖(可以多个)

(4)统一的版本管理

项目中会对很多第三方框架的jar包进行依赖:

  • 同一个框架的jar包版本应该是一致的,如果希望修改框架的版本时,每一个jar包的版本都需要进行改变;
  • 如果手动一个一个修改配置依赖,太麻烦;可以设置属性标签,定义jar包的版本,然后通过${}表达式来进行引用;

(5)依赖的范围

maven的依赖范围主要是对<dependency>标签中的<scope>标签中的值的设置;

scope的默认依赖范围是compile;

依赖范围分为三种:

a. compile   -->对主程序有效,主程序有效,参与打包和部署,传递

b. test          -->只对测试程序有效,不传递

c. provided  -->对主程序有效,主程序有效,不参与打包和部署,不传递

二、继承

继承:maven中设置一个父工程,其他的工程可以继承这个工程。子工程就可以直接使用父工程中的依赖。

注意:

  • 多个子工程中依赖同样的jar包,但是采用test范围;由于test范围没有传递性;所以,每一个工程都需要对test范围的jar包进行单独依赖;
  • 而如果希望修改多个工程中所依赖test范围的jar包版本,那么,一个一个项目去修改太麻烦,这时可以应用继承解决。

(1)继承的使用

定义一个父工程,名称为MavenParent,父工程packaging必须是pom

项目的打包类型:pom、jar、war

packing默认是jar类型

<packaging>pom</packaging> ---------> 父类型都为pom类型

<packaging>jar</packaging> ---------> 普通项目打jar包,一般普通项目设置jar

<packaging>war</packaging> ---------> web项目一般都是打war包,web项目的话设置war

在各个子工程中对父工程进行继承

<parent>(写在子工程的pom.xml中)
            <groupId>com.sy.maven</groupId>
            <artifactId>父工程</artifactId>
            <version>1.0-SNAPSHOT</version>
            <!--relativePath 的作用是为了找到父级工程的pom.xml;因为子工程需要继承父工程的pom.xml文件中的内容。-->
            <relativePath>../父工程/pom.xml</relativePath>
</parent>

一个子工程只能继承一个父工程

三、项目聚合(一键安装)

聚合:如果有多个工程需要安装,一个一个工程进行安装,太麻烦了;可以利用聚合,将多个工程管理起来,实现一键安装。(也就是将一个父工程进行安装,其他被聚合的工程也同时进行安装)

聚合的作用:

可以通过编译父工程实现将所有的子工程一起编译。

<!--在父工程中聚合所有的子工程-->
<modules>
            <module>../子工程</module>
            <module>../子工程</module>
            <module>../子工程</module>
</modules>

小结:

继承和聚合工程通常使用在分布式多模块项目开发时候,一般的小项目使用的还是比较少。

四、创建Maven版web工程

    方法一:

  • 创建Maven的Web工程,需要选择packaging的值为war
  • 安装普通普通Maven项目转web项目的插件JBLJavaToWeb, 找到后直接安装
  • 先创建一个jar版的maven工程
  • 把创建好的工程转为javaweb项目

    方法二:

    创建javaWebMaven(Archetype-->webapp)

五.配置Tomcat

运行方式两种:

(1). 使用本地的tomcat

(2). 使用tomcat插件

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <!--端口控制-->
        <port>8080</port>
        <!--项目路径控制意味着http://localhost:8080/abc-->
        <path>/javaWebMaven</path>
        <!--编码-->
        <uriEncoding>UTF-8</uriEncoding>
      </configuration>
    </plugin>
  </plugins>
</build>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值