• 2022/08/09、10、11 day01-2、02、03:maven约定目录、仓库、命令、插件


    2 Maven的核心概念

    2.1 Maven工程约定目录结构

    约定:大家都约定好的,会遵循的规则。并不是强制。

    每一个Maven的项目在磁盘中都是一个文件夹(项目-Hello)
    Hello/
    —/src #在这找文件
    -------/main #放置主程序的java代码和配置文件
    ------------/java #放置你的程序包和包中的java文件
    ------------/resources #放置的是你的java程序中要使用得到配置文件

    -------/test    #放置测试程序用到的文件代码和文件(非强制有)- 在这找测试
    ------------/java    #放置测试程序包和包中的java文件
    ------------/resources #放置测试java程序中要使用得到配置文件
    
    • 1
    • 2
    • 3

    —/pom.xml #Maven的核心文件,最先找的文件(Maven项目必须有的文件)

    在这里插入图片描述

    【疑问】mvn compile 这个命令是编译src/main目录下的所有Java文件:

    1. 为什么要下载

      • Maven工具执行的操作需要很多插件(java类–jar文件)完成的。
    2. 下载什么东西了

      • jar文件–叫做插件,是完成某些功能的
    3. 下载的东西存放哪里了?

      • 默认仓库(本机仓库):C:\Users(登录操作系统的用户名)Admin.m2\repository

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

    设置本机存放资源的目录位置(设置本机仓库):

    1. 修改Maven的配置文件,Maven安装目录/conf/settings.xml
      • 先备份settings.xml
    2. 修改 指定你的目录(不要使用中文目录)
      • E:\Javalearn\05__1Maven_work\maven_repository

    复习

    在这里插入图片描述

    在这里插入图片描述

    3 仓库

    重要的概念:
    在这里插入图片描述

    1. 仓库是什么:仓库是存放东西的,存放Maven使用的jar和我们项目使用的jar
      • Maven使用的插件(各种jar)
      • 我们项目使用的jar包(第三方的工具)
    2. 仓库的分类
      • 本地仓库:就是我的个人计算机上的文件夹,来存放各种jar包。
      • 远程仓库:资源在互联网上的,需要使用网络才能使用的仓库。
        • ①中央仓库:最权威的,世界上所有的开发人员都共享使用的一个集中的仓库。(位于欧洲的某一个服务器上) https://repo.maven.apache.org :中央仓库的地址。
        • ②中央仓库镜像:为了减少中央仓库的压力而产生的,相当于中央仓库的备份,在各大洲,重要的城市,都有镜像。(使用时,首先找的就是镜像)
        • ③私服:在公司的内部,在局域网中使用的,不是对外使用的
    3. 仓库的使用,Maven仓库的使用,不需要人为参与,不是你能控制的管理的,Maven自动使用。
      • 开发人员需要使用mysql驱动—>Maven首先是查本地仓库—>私服(如果有私服的话,各级下载)—>镜像(各级下载)—>中央仓库(各级下载)
    4. pom:项目对象模型,是一个pom.xml文件
      1. 坐标:唯一值,在互联网中唯一标识一个项目,是必须有的
        • 公司域名的倒写
        • 自定义项目名称
        • 自定义版本号
      2. 在中央仓库中搜索使用:https://mvnrepository.com/
        • 使用groupId或artifactId作为搜索条件
      3. packaging:打包后压缩文件的扩展名,默认是jar,web应用加war;packaging可以不写,默认时jar。
      4. 依赖:dependencies和dependency。相当于java代码中的import。你的项目中要使用的各种资源说明,比如我的项目要使用mysql驱动:…
        mysql mysql-connector-java 5.1.9
    1. properties:设置属性
    2. build:Maven在进行项目的构建时,一些配置信息,例如指定编译java代码使用jdk的版本等等。
    3. parent:继承(暂时不关心)
    4. modules:聚合(暂时不关心)

    4 Maven的生命周期、命令、插件

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

    1. 单元测试(测试方法的):用的是Junit,Junit是一个专门测试的框架(工具)。

      • Junit测试的内容:测试的是类中的方法,每一个方法都是独立测试的。(方法是测试的基本单位(单元))
      • Maven是借助单元测试,批量的测试你类中的大量方法是否符合预期的。
    2. 使用步骤

      1. 加入依赖,在pom.xml加入单元测试依赖
        junit junit 4.11 test
      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目录下
    4. mvn test-compile 编译测试文件的java文件

    5. mvn clean 清理(删除原来编译和测试的目录:target)

    6. mvn test 测试

      • 会把清理、编译主程序、编译测试程序等步骤都执行一遍。所以不需要提前编译了。
    7. mvn package 打包(项目中用得最多)

      • 把项目中涉及到的类或配置文件等,形成一个压缩文件(就是jar包)
      • 只包含src/main/目录下的所有内容,不包含测试文件
    8. mvn install

      • 把打包好的jar文件,安装到本地仓库中(别的项目就可以使用了)

    重点:
    在这里插入图片描述

                                                                                       ——此文档为学习笔记!
    
    • 1
  • 相关阅读:
    算法基础 1.2 归并排序
    微信打不开MP4文件 (记录编码问题)
    A : DS堆栈--括号匹配
    如何使用做一个弹幕效果
    Moderate Modular Mode(构造,数论,1600)
    旋转框目标检测mmrotate v0.3.1 学习模型
    软件测试怎么去介绍一个项目的测试流程?
    windows server 2016 ftp搭建详细教程
    使用AI编写测试用例——详细教程
    平衡二叉树(AVL树)
  • 原文地址:https://blog.csdn.net/w2079930908/article/details/126288315