Welcome to Doris′s Blog

Maven学习笔记

                      Maven(专家)
一.介绍
1.apache组织提供的一个顶级项目(树的根节点)-->管理所有项目
2.apache开发的所有工具都是用Java开发的
3.作用:
  1)管理项目构建生命周期-->使用开发工具IDE就可以
   *2)管理项目中的jar包-->开发人员使用
  3)管理项目中的基础信息(文档管理,测试报告)-->一般测试人员进行
二.项目构建生命周期
1.简单:开发 编译 打包 发布
  打包:
  简单的Java工程,将功成中所有的Java类打成jar
  简单的Web工程,将工程打成war-->Tomcat中直接运行
2.专业流程:
  [clean]--->[compile]--->[test]--->[report]-->[package]--->[deploy]
  [清理] ---> [编译] ---> [测试]--->[报告]--->[打包]--->[发布]
三.项目中jar管理
1.jar管理难度:
  1)定位较难(下载位置难)
  2)jar包之间的依赖较难(此jar包需要它的依赖包)
  3)jar包之间的冲突问题(版本冲突等问题)
  4)jar包的管理(多个项目公用jar包)
四.Maven怎样管理jar

 

本地仓库-->私服仓库(局域网中)-->中央仓库(英国)/镜像仓库  ==>Maven做这个取jar包的工作 

四.Maven项目信息管理

  1)API文档

  2)测试报告

  //一般由测试人员进行

五.Maven安装与配置

  1.[安装] 解压即可,复制到没有中文和空格的位置

  2.[配置] : 

    1)JAVA-HOME:jdk的安装位置

    2)MAVEN-HOME:Maven放置位置 D:\apache-maven-3.6.3

    3)PATH(什么什么的bin)%Maven-HOME%/bin 

六.Maven的本地仓库

  随便发送maven命令: clean compile  package

  就会导致maven在当前计算机上生成本地仓库

  默认位置 : C:\\user\[用户名]\.m2\repository 因为C盘==>所以,重置本地仓库位置

 ·重置MAVEN本地仓库位置:

  conf/settings.xml中    #53<localRepository>E:\Repository</localRepository>

七.MAVEN工程结构

  eclipse,tomcat可以管理项目-->工程结构就必须符合其本身的规定

  maven也同样,有 工程的[约定结构]

  • src文件夹 (Java代码)
    • main (主要开发)
      • java (创建Java文件)
      • resource (开发所需的配置文件) 
    • test (主要进行测试)
      • java (测试代码)
      • resource (测试所需的配置文件)
  • target (放置编译后的字节码文件,测试形成的的测试报告,打包后形成的jar,war)
  • pom.xml(与MAVEN交流(向仓库讨要jar)的核心配置文件)

       (web项目与Tomcat交流使用web.xml,而与MAVEN交流使用pom.xml)

==>pom.xml详解

<?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>
  <!--gav是定位jar包的坐标,使用gav保证了工程的全球唯一性-->
  <groupId>[公司域名倒置]</groupId>
  <artifactId>[工程名(可与项目名不一致)]</artifactId>
  <version>[工程版本]</version>

<!--dependencies中定义本项目所需要的jar包,此时就通过对应jar包的gav来进行定位,gav前往中央仓库查找-->
  <dependencies>
    <dependency>
      <groupId>h</groupId>
      <artifactId>gy</artifactId>
      <version>1.0</version>
    </dependency>
  </dependencies>
</project>

八.MAVEN常见命令(项目构建周期)

  1.mvn clean : 清理,删除之前执行命令而生成的target,以备重新执行所需命令

  2.mvn compile : 编译,生成class文件输出到target中

  3.mvn test : 测试,执行test/java中所有测试@Test方法

       同时,生成测试文档输出到target\sevi-report文件夹中

  4.mvn package : 打包,打包时为保证打包后的jar/war的正确性,会执行测试

       执行test/java中所有测试@Test方法,并生成测试报告到target\sur-report中

       如果测试没有问题则将main中Java文件编译成的class文件打成war/jar并输送到target中

  5.mvn install : 打包输送到本地仓库中

九.IDEA管理配置MAVEN

 

 

注意:1.idea中生成的文件夹需要进行授权,Project structure中进行授权,main,test对应不同的权限

      不同的权限,其中可以建对应权限的内容

  2.maven下的Java Project-->quickstart

        Web Project-->webapp

  3.创建maven的webapp时需要Web组件(Servlet时)也需要在pom中讨要

   eclipse中是在构建路径,构建路径就是在指明需要的jar包要在构建的路径中找(Tomcat中找),而使用maven就不用了

posted on 2020-02-04 21:39  Doris董  阅读(182)  评论(0)    收藏  举报

导航