Maven第二弹

一、单元 测试框架

先下载junitjar包   Maven Repository: junit » junit » 4.13.2 (mvnrepository.com)

对你写的方法进行测试,与预期值一致 代码测试成功

二、Maven 中的依赖

Maven中管理3套classpath

1.编译期间的ClassPath(java目录)

2.测试期间的ClassPath(test目录)

3.运行期间的ClassPath(target目录)

2.1依赖的作用的范围

看代码 当我们通过GAV坐标查找到对应的jar包的时候 我们可以通过 scope 标签设置该jar包的作用范围

<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.4</version>
</dependency>

<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>V

<scope>标签的设置值的常用项:

  • compile:默认值的范围 编译的依赖范围 对所有的calssPath都起作用

  • test:测试的依赖范围 只对测试的classpath起作用

  • runtime:运行期间的依赖范围 对测试和运行classpath起作用

  • provided:对编译和测试的classpath起作用 对运行期间的classpath不起作用的

  • 注意:经典的使用案例 Maven项目在构建WEB项目时 不会跟Tomacat进行关联 所以缺少 servlet-api.jarjsp-api.jar,导致无法使用 Servlet API因此需要我们单独进行引入 但是当我们发布该项目到webapps目录下时 Tomcat已经包含了上述的jar包 如果不设置provided属性 就会将我们自己引入的 servlet-api.jarjsp-api.jar发布到tomcat容器中 容易造成版本冲突

2.2依赖的分类

 2.3依赖冲突

A项目依赖5.1.47版本的mysql

B项目依赖了5.1.48版本的mysql

那么C项目中mysql的版本:路径不同 找最短路径

                路径相同,谁优先加载使用谁

三、Maven项目的聚合和继承

3.1聚合

一个大的项目 不再是一个单独的项目构成 而是由多个小的项目构成一个大的项目(ERP=考勤系统+工资系统+员工系统+绩效考核系统等等)

我们不应该对每个子项目进行单独的处理 应该使用统一简单的处理方式

每个项目的操作都是单独进行处理的 如果存在N个项目 需要操作N遍 耗时耗力

<?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>com.parent</groupId>
    <artifactId>maven03_parent</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--维护项目之间的关系-->
    <packaging>pom</packaging>

    <!--聚合-->
    <modules>
        <module>../maven03_student</module>
        <module>../maven03_teacher</module>
    </modules>
</project>

3.2继承

因为拥有多个子项目 每个项目又需要依赖不同jar包 如果每个子项目进行单独维护引用的jar包 可能造成引入的版本不统一 可能导致整个大项目出错

(Student项目msqy5.1.47 Teacher项目mysql5.1.48 )

那么最好统一管理jar包的版本 我们可以通过pom类型的项目管理jar包的版本

<?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>com.parent</groupId>
    <artifactId>maven03_parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--继承-->
    <!--提取公共信息-->
    <properties>
        <!--自定义标签-->
        <mysql.version>5.1.48</mysql.version>
        <!--系统提供的标签-->
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

student项目中的描述

<?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>com.student</groupId>
    <artifactId>maven03_student</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>com.parent</groupId>
        <artifactId>maven03_parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../maven03_parent/pom.xml</relativePath>
    </parent>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
    </dependencies>
</project>

四、Maven构建Web项目

 

 继承  Httpservlet

 下载

 或者从网上直接下载

 

 引入api

 设置tomcat

 

 maven到此结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值