Maven基础
Maven 仓库:
1.) 仓库是什么?
仓库是存放东西的,存放maven使用的jar和我们项目使用的jar
maven使用的插件(各种jar)
我们项目使用的jar (第三方的工具)
2)仓库的分类
本地仓库,就是你的个人计算机上的文件夹,存放各种jar
远程 仓库,在互联网上的,使用网络才能使用的仓库
1. 中央仓库,最权威,所有开发人员都共享使用的一个集中的仓库。 中央仓库的地址: http://repo.maven.apache.org
2. 中央仓库的镜像:就是中央仓库的备份,在各大洲,重要的城市都是镜像。
3. ***:在公司内部,在局域网中使用的,不是对外使用的。
3.)仓库的使用:maven仓库的使用不需要人为参与。
开发人员需要使用mysql驱动----->maven 首先查看本地仓库------>***------->镜像-------->中央仓库
4 . )pom :项目对象模型,是一个pom.xml文件
- 坐标: 唯一值,在互联网中唯一表识一个项目的
公司域名的倒写
自定义项目名称
自定义版本号
https://mvnrepository.com/ 搜索使用的中央仓库,使用groupId 或者artifactId作为坐标。
2)packaging :打包后压缩文件的扩展名,默认是jar,web应用是war
packaging可以不写,默认是jar
3)依赖
dependencies和dependency ,相当于是java代码的import。
你的项目中要使用的资源说明,比如我的项目要使用的mysql驱动:
日志依赖:
gav
这个jar包会通过gav坐标在本地仓库搜索,如果没有,再在远程仓库搜索。 maven帮你下载,然后把这些资源加到你的项目中方便使用。
单元测试依赖:
junit
4)properties:设置属性
5)build :maven在进行项目的构建时,配置信息,例如指定编译java代码使用的jdk等等
以上表格中的属性和依赖项都要写在pom文件中。
maven的生命周期
就是maven构建项目的过程。清理、编译、测试、报告、打包、安装、部署的一系列过程叫做maven的生命周期。
maven的常用命令
maven独立使用,通过命令,完成maven的生命周期的执行。
maven可以使用命令,完成项目的清理、编译、测试等等
mvn clean 清理
会删除原来编译和测试的目录 ,即target目录,但是已经install到仓库里的包不会删除。
mvn compile 编译主程序(生成target文件)
- 编译main/java/目录下的java为class文件,同时把class文件拷贝到target/classes目录下
- 把main/resources目录下的所有文件都拷贝到target/classes目录下
mvn test-compile 编译测试程序
(会在当前目录下生成一个target,里面存放编译测试程序之后生成的字节码文件)
mvn test 测试
当你进行这个测试命令时,maven会将前面的生命周期内容全部执行一遍
(测试会生成一个目录surefire-reports,保存测试结果)
mvn package
打包主程序(会编译、编译测试、测试、并且按照pom.xml配置把主程序打包生成jar包或war包)
mvn install 安装主程序(会把本工程打包,并且按照本工程的坐标保存到本地仓库中)
mvn deploy 部署主程序(会把本工程打包,按照本工程的坐标保存到本地库中,并且还会保存到***仓库中。还会自动把项目部署到web容器中)
maven的插件
maven命令执行时,真正完成功能的是插件,插件就是一些jar文件,一些类。
-
单元测试(测试方法):用的是junit,junit是一个专门测试的框架(工具)。
junit测试的内容:测试的是类中的方法,每一个方法都是独立测试的。
方法是测试的基本单位(单元)。
maven借助单元测试,批量的测试你类中的大量方法是否符合预期的。 -
使用步骤
1)加入依赖,在pom.xml加入单元测试依赖
2 )在maven项目中的src/test/java 目录下,创建测试程序。
推荐的创建类和方法的提示:
1.测试类的名称 是Test + 你要测试的类名
2.测试的方法名称 是:Test + 方法名称
例如 你要测试HelloMaven,
创建测试类 TestHelloMaven
@Test
public void testAdd(){
测试HelloMaven的add方法是否正确(1.方法是否报异常;2.结果是否正确)
}其中testAdd叫做测试方法,它的定义规则:
-
方法是public的,必须的
-
方法没有返回值,必须的
-
方法名称是自定义的,推荐是Test + 方法名称、
-
在方法的上面加入@Test
配置插件
在IDEA中设置maven
使用模板创建项目
正确结构:
一般java项目:
web项目结构:
加入下面这些依赖就不用添加tomcat了