• maven的理解和使用


    一、maven是什么?

       maven是项目管理工具

      

    二、maven为什么要用?

      在做开发的时候常常会用到外部的工具包(jar包),这就需要你一个一个的去他们的官网下工具包,然后在项目里依赖他们,比较的麻烦。

      maven有一个远程仓库,里面存了几乎所有要用到的工具包,只需在项目里配置maven要用到的pom.xml文件,项目首先自动会将这些工具包下载到本地仓库,然后项目就可以依赖到这些工具包,比较方便。

    三、maven怎么用?

      1、maven项目结构

      2、maven项目构建命令(命令运行与pom文件在同一目录)

    mvn clean;【清理】
    mvn clean compile/test/package/install;【编译/测试/打包/安装】
        * 执行后面的命令,前面的命令也会执行
        * 由<packaging>pom/jar/war</packaging>决定打包类型

      3、传递(<dependency></dependency>标签下)

    <scope></scope>常用取值
        compile:向下传递,其为默认值,大多数都为此值;
        test:不向下传递,测试类的包为此值;
        runtime:向下传递,jdbc驱动包为此值;
        provided:不向下传递,servlet-api包为此值;    
    不向下传递:gav下加
        <optional>true</optional>
    不接收传递:gav下加
        <exclusions>
          <exclusion>
            <groupId></groupId>
            <artifactId></artifactId>
          </exclusion>
        </exclusions>
    依赖优先级:
        直接依赖后者高于前者,直接依赖高于间接依赖,间接依赖前者高于后者

      4、maven继承

    直接继承:
        父工程:
            <packaging>pom</packaging>
        子工程:工程的gav不需要g和v
            <parent>
                <groupId></groupId>
                <artifactId></artifactId>
                <version></version>
                <relativePath>../父工程</relativePath>
            </parent>
    可选继承:
        1、父工程:
            <packaging>pom</packaging>
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId></groupId>
                        <artifactId></artifactId>
                        <version></version>
                    </dependency>
                </dependencies>
            </dependencyManagement>
        2、子工程:子工程可选继承多个父工程,依赖的gav不需要v
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId></groupId>
                        <artifactId></artifactId>
                        <version></version>
                        <type>pom</type>
                        <scope>import</scope>
                    </dependency>
                    <dependency>
                        <groupId></groupId>
                        <artifactId></artifactId>
                        <version></version>
                        <type>pom</type>
                        <scope>import</scope>
                    </dependency>
                </dependencies>
            </dependencyManagement>

    四、父子工程三种启动方式

    父工程:mvn tomcat:run
    子工程:mvn tomcat:run,需要先安装其他子工程,可由父工程mvn install
    本地:本地tomcat运行

    五、示例

      1、父工程

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId></groupId>
        <artifactId></artifactId>
        <version></version>
        <packaging>pom</packaging>
    
        <parent>
            <groupId></groupId>
            <artifactId></artifactId>
            <version></version>
        </parent>
    
        <modules>
            <module></module>
        </modules>
    
        <properties></properties>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId></groupId>
                    <artifactId></artifactId>
                    <version></version>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
    </project>

      2、子工程

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId></artifactId>
    
        <parent>
            <artifactId></artifactId>
            <groupId></groupId>
            <version></version>
        </parent>
    
        <dependencies>
            <dependency>
                <groupId></groupId>
                <artifactId></artifactId>
            </dependency>
        </dependencies>
    
    </project>
  • 相关阅读:
    【Selenium】selenium中隐藏元素如何定位?
    【Mock】【接口测试】【面试】mock-server 环境搭建—加分项!
    【Mock】mock基础、简单的单元测试代码练习。
    【WebDriver】WebDriver 常用操作
    【Loadrunner】Loadrnner 参数化策略
    ES6系列_11之Set和WeakSet数据结构
    ES6系列_10之Symbol在对象中的作用
    ES6系列_9之对象
    ES6系列_8之函数和数组
    ES6系列_7之箭头函数和扩展
  • 原文地址:https://www.cnblogs.com/linding/p/12190388.html
Copyright © 2020-2023  润新知