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

发布于:2023-01-21 ⋅ 阅读:(440) ⋅ 点赞:(0)

2 Maven的核心概念

2.1 Maven工程约定目录结构

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

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

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

—/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文件,安装到本地仓库中(别的项目就可以使用了)

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

                                                                                   ——此文档为学习笔记!
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到