zoukankan      html  css  js  c++  java
  • 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 epository 因为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方法

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

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

           执行test/java中所有测试@Test方法,并生成测试报告到targetsur-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就不用了

  • 相关阅读:
    URAL 1998 The old Padawan 二分
    URAL 1997 Those are not the droids you're looking for 二分图最大匹配
    URAL 1995 Illegal spices 贪心构造
    URAL 1993 This cheeseburger you don't need 模拟题
    URAL 1992 CVS
    URAL 1991 The battle near the swamp 水题
    Codeforces Beta Round #92 (Div. 1 Only) A. Prime Permutation 暴力
    Codeforces Beta Round #7 D. Palindrome Degree hash
    Codeforces Beta Round #7 C. Line Exgcd
    Codeforces Beta Round #7 B. Memory Manager 模拟题
  • 原文地址:https://www.cnblogs.com/ying-dong/p/12261587.html
Copyright © 2011-2022 走看看