1.maven约定的目录结构。
每一个maven项目在磁盘中都是一个文件夹(项目-ch03-java)
ch03-java/
---/src
------/main #放主程序java代码和配置文件
----------/java #程序包和包中的java文件
----------/resources #java程序中要使用的配置文件
------/test #测试程序代码和文件的(可以没有)
----------/java #测试程序包和包中的java文件
----------/resources #测试java程序中要使用的配置文件
---/pom.xml #maven的核心文件(maven项目必须有)
idea中java项目的目录结构如下图所示
2.疑问: mvn compile 编译src/main目录下的所有java文件的。
- 为什么要下载???
答:maven工具执行的操作需要很多插件(java类--jar文件)来完成的
- 下载什么东西了??
答:jar文件--叫做插件--插件是完成某些功能
- 下载的东西存放到哪里了?
默认仓库(本机仓库):
C:\Users\Lenovo(登录操作系统的用户名)\.m2\repository
https://repo.maven.apache.org 中央仓库的地址
执行mvn compile, 结果是在项目的根目录下生成target目录(结果目录),
maven编译的java程序,最后的class文件都放在target目录中
设置本机存放资源的目录位置(设置本机仓库):
1. 修改maven的配置文件, maven安装目录/conf/settings.xml
先备份 settings.xml
2. 打开settings文件,修改 <localRepository> 指定你想要存储的仓库目录(不要使用中文目录)
3.建议在修改settings文件时,把阿里云的镜像代码也给加进去,这构建项目更快。
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
3.仓库
- 仓库是什么: 仓库是存放东西的, 存放maven使用的jar 和 我们项目使用的jar
- maven使用的插件(各种jar)
- 我项目使用的jar(第三方的工具)
- 仓库的分类
- 本地仓库, 就是你的个人计算机上的文件夹,存放各种jar
-
远程仓库, 在互联网上的,使用网络才能使用的仓库
- 中央仓库,最权威的, 所有的开发人员都共享使用的一个集中的仓库,https://repo.maven.apache.org :中央仓库的地址
- 中央仓库的镜像:就是中央仓库的备份, 在各大洲,重要的城市都是镜像。
- ***,在公司内部,在局域网中使用的, 不是对外使用的。
- 仓库的使用,maven仓库的使用不需要人为参与。
开发人员需要使用mysql驱动--->maven首先查本地仓库--->***--->镜像--->中央仓库
4.pom:项目对象模型,是一个pom.xml文件
- 坐标:唯一值, 在互联网中唯一标识一个项目的
<groupId>公司域名的倒写</groupId>
<artifactId>自定义项目名称</artifactId>
<version>自定版本号</version>
https://mvnrepository.com/ 搜索使用的中央仓库, 使用groupId 或者 artifactId作为搜索条件
- packaging: 打包后压缩文件的扩展名,默认是jar ,web应用是war
packaging 可以不写, 默认是jar
- 依赖
dependencies 和dependency ,相当于是 java代码中import
你的项目中要使用的各种资源说明, 比我的项目要使用mysql驱动
<dependencies>
<!--依赖 java代码中 import -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
</dependencies>
- properties:设置属性
- build : maven在进行项目的构建时, 配置信息,例如指定编译java代码使用的jdk的版本等
5.maven生命周期, maven的命令,maven的插件
maven的生命周期:就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署
maven的命令:maven独立使用,通过命令,完成maven的生命周期的执行。
maven可以使用命令,完成项目的清理,编译,测试等等
maven的插件: maven命令执行时,真正完成功能的是插件,插件就是一些jar文件, 一些类。
- 单元测试(测试方法):用的是junit, junit是一个专门测试的框架(工具)。
junit测试的内容: 测试的是类中的方法, 每一个方法都是独立测试的。
方法是测试的基本单位(单元)。
maven借助单元测试,批量的测试你类中的大量方法是否符合预期的。
- 使用步骤
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(){
测试HelloMaven的add方法是否正确
}
其中testAdd叫做测试方法,它的定义规则
1.方法是public的,必须的
2.方法没有返回值, 必须的
3.方法名称是自定义的,推荐是Test + 方法名称
4.在方法的上面加入 @Test
3)mvn compile
编译main/java/目录下的java 为class文件, 同时把class拷贝到 target/classes目录下面
把main/resources目录下的所有文件 都拷贝到target/classes目录下