maven基础知识(二)

二部分

1.maven约定的目录结构, 约定是大家都遵循的一个规则。

每一个maven项目在磁盘中都是一个文件夹(项目-Hello)

    Hello/
      ---/src
      ------/main           #放你主程序java代码和配置文件
      ----------/java       #你的程序包和包中的java文件
      ----------/resources  #你的java程序中要使用的配置文件

      ------/test           #放测试程序代码和文件的(可以没有)
      ----------/java       #测试程序包和包中的java文件
      ----------/resources  #测试java程序中要使用的配置文件

      ---/pom.xml           #maven的核心文件(maven项目必须有)

2.疑问: mvn compile 编译src/main目录下的所有java文件的。

1)为什么要下载
maven工具执行的操作需要很多插件(java类--jar文件)完成的
2)下载什么东西了
jar文件--叫做插件--插件是完成某些功能
3)下载的东西存放到哪里了
默认仓库(本机仓库):
C:\Users\(登录操作系统的用户名)Administrator.m2\repository

Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-parameter-documenter-2.0.9.pom

https://repo.maven.apache.org :中央仓库的地址

执行mvn compile, 结果是在项目的根目录下生成target目录(结果目录),
maven编译的java程序,最后的class文件都放在target目录中


设置本机存放资源的目录位置(设置本机仓库):
 1. 修改maven的配置文件, maven安装目录/conf/settings.xml
    先备份 settings.xml

 2. 修改 <localRepository>  指定你的目录(不要使用中文目录)

 D:\work\maven_work\maven_repository

3.仓库

1)仓库是什么: 仓库是存放东西的, 存放maven使用的jar 和 我们项目使用的jar
> maven使用的插件(各种jar)
> 我项目使用的jar(第三方的工具)

2)仓库的分类
>本地仓库, 就是你的个人计算机上的文件夹,存放各种jar
>远程仓库, 在互联网上的,使用网络才能使用的仓库
①:中央仓库,最权威的, 所有的开发人员都共享使用的一个集中的仓库,
https://repo.maven.apache.org :中央仓库的地址
②:中央仓库的镜像:就是中央仓库的备份, 在各大洲,重要的城市都是镜像。
③:私服,在公司内部,在局域网中使用的, 不是对外使用的。

3)仓库的使用,maven仓库的使用不需要人为参与。

开发人员需要使用mysql驱动--->maven首先查本地仓库--->私服--->镜像--->中央仓库

4.pom:项目对象模型,是一个pom.xml文件

1)坐标:唯一值, 在互联网中唯一标识一个项目的
  <groupId>公司域名的倒写</groupId>
 <artifactId>自定义项目名称</artifactId>
 <version>自定版本号</version>

   https://mvnrepository.com/ 搜索使用的中央仓库, 使用groupId 或者 artifactId作为搜索条件
 

  2) packaging: 打包后压缩文件的扩展名,默认是jar ,web应用是war 
      packaging 可以不写, 默认是jar


 3) 依赖
    dependencies 和dependency ,相当于是 java代码中import

     你的项目中要使用的各种资源说明, 比我的项目要使用mysql驱动

     <dependencies>
        <!--依赖  java代码中 import -->
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.9</version>
     </dependency>
 
 </dependencies>

  4)properties:设置属性

  5)build : maven在进行项目的构建时, 配置信息,例如指定编译java代码使用的jdk的版本等

5.maven生命周期, maven的命令,maven的插件

maven的生命周期:就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署
maven的命令:maven独立使用,通过命令,完成maven的生命周期的执行。
maven可以使用命令,完成项目的清理,编译,测试等等
maven的插件: maven命令执行时,真正完成功能的是插件,插件就是一些jar文件, 一些类。

1)单元测试(测试方法):用的是junit, junit是一个专门测试的框架(工具)。
junit测试的内容: 测试的是类中的方法, 每一个方法都是独立测试的。
方法是测试的基本单位(单元)。
maven借助单元测试,批量的测试你类中的大量方法是否符合预期的。

2)使用步骤

     1.加入依赖,在pom.xml加入单元测试依赖
         <!-- 单元测试 -->
         <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

     2.在maven项目中的src/test/java目录下,创建测试程序。
        推荐的创建类和方法的提示:
         1.测试类的名称 是Test + 你要测试的类名
         2.测试的方法名称 是:Test + 方法名称

         例如你要测试HelloMaven ,
         创建测试类 TestHelloMaven
       @Test
         public void testAdd(){
          测试HelloMaven的add方法是否正确
         }
         其中testAdd叫做测试方法,它的定义规则
         1.方法是public的,必须的
         2.方法没有返回值, 必须的
         3.方法名称是自定义的,推荐是Test + 方法名称
         4.在方法的上面加入 @Test

     3)mvn compile 
       编译main/java/目录下的java 为class文件, 同时把class拷贝到 target/classes目录下面
        把main/resources目录下的所有文件 都拷贝到target/classes目录下
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。