java中Maven的核心概念(POM、约定的目录结构、坐标、依赖管理、仓库管理、生命周期、插件和目标、继承)

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

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

  •  Hello/
     ---/src
     ------/main           #放你主程序java代码和配置文件
     ----------/java       #你的程序包和包中的java文件
     ----------/resources  #你的java程序中要使用的配置文件
    
     ------/test  #放测试程序代码和文件的(可以没有)
     ----------/java       #测试程序包和包中的java文件
     ----------/resources  #测试java程序中要使用的配置文件
    
    ---/pom.xml  #maven的核心文件(maven项目必须有)			
    

一般情况下,我们习惯上采取的措施是:约定>配置>编码
maven的pom.xml记录的关于构建项目的各个方面的设置,maven从pom.xml文件开始,按照助约定的工程目录编译,测试,打包,部署,发布项目

2.疑问: 在pom.xml位置下执行mvn compile 编译src/main目录下的所有java文件的。

1)为什么要下载

maven工具执行的操作需要很多插件(java类–jar文件)完成的

2)下载什么东西了

jar文件–叫做插件–插件是完成某些功能

3)下载的东西存放到哪里了。

默认仓库(本机仓库):C:\Users\(登录操作系统的用户名)It.me.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. 修改 指定你的目录(不要使用中文目录)
    D:/JAVA/javasoft/maven_work/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驱动
在这里插入图片描述
4)properties:设置属性
5)build : maven在进行项目的构建时, 配置信息,例如指定编译java代码使用的jdk的版本等
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

1、maven的生命周期

就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署

2、maven的命令

maven独立使用,通过命令,完成maven的生命周期的执行。maven可以使用命令,完成项目的清理,编译,测试等等

  • mvn clean 清理(会删除原来编译和测试的目录,即 target 目录,但是已经 install 到仓库里的包不会删除)
  • mvn compile 编译主程序(会在当前目录下生成一个 target,里边存放编译主程序之后生成的字节码文件)
  • mvn test-compile编译测试程序(会在当前目录下生成一个 target,里边存放编译测试程序之后生成的字节码文件)
  • mvn test 测试(会生成一个目录surefire-reports,保存测试结果)
  • mvn package 打包主程序(会编译、编译测试、测试、并且按照 pom.xml 配置把主程序打包生成 jar 包或者 war 包)
  • mvn install 安装主程序(会把本工程打包,并且按照本工程的坐标保存到本地仓库中)
  • mvn deploy 部署主程序(会把本工程打包,按照本工程的坐标保存到本地库中,并且还会保存到私服仓库中。 还会自动把项目部署到 web 容器中)。
    注意:执行以上命令必须在命令行进入pom.xml所在目录

练习 maven 命令

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(){
  System.out.println("执行 HelloMaven 类 addNumber()方法");         
int n1 = 10;         
int n2 = 20;         
int res = 0;         
HelloMaven hello =new HelloMaven();         
res = hello.addNumber(n1,n2);         
// 期望值,实际值         Assert.assertEquals(30,res); 
 }

其中testAdd叫做测试方法,它的定义规则

  • 1.方法是public的,必须的
  • 2.方法没有返回值, 必须的
  • 3.方法名称是自定义的,推荐是Test + 方法名称
  • 4.在方法的上面加入 @Test
    3)mvn compile
    编译main/java/目录下的java 为class文件, 同时把class拷贝到 target/classes目录下面
    把main/resources目录下的所有文件 都拷贝到target/classes目录下
  • 5.执行先执行 mvn compile ,观察目录结构的变化,生成 target 目录
  • 6.在执行 mvn clean, 观察 taget 目录被清除
  • 7.执行 mvn compile
  • 8.进入 taget/classes 目录执行 java com.bjpowernode.HelloMaven
  • 9.进入 Hello 目录,执行 mvn test-compile 生成 test-target 测试编译后的目录
  • 10.进入 Hello 目录,执行 mvn test 执行 MyTest 类中方法,生成测试报告
  • 11.进入目录 surefire-reports,查看测试报告
  • 13.进入 Hello 目录,执行 mvn test-compile
  • 14.进入 Hello 目录,执行 mvn test
  • 15.修改 testAddNumber2()方法中 60 为 50
  • 16.进入 Hello 目录,执行 mvn package ,生成 xxx.jar 文件,这就是所说的打包
  • 17.进入 Hello 目录,执行 mvn install , 把 xxx.jar 文件安装到本地 maven 仓库,安装成功后查看仓库中的 jar 文 件

3、maven的插件

maven命令执行时,真正完成功能的是插件,插件就是一些jar文件, 一些类。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值