maven
概念:
是一个款项目管理工具(通过java编写的)
是将一个项目看成是一个对象进行管理,在maven中提出了一个pom思想(project object model)
作用:
1. 项目的依赖管理(jar包管理)
2. 项目的构建
项目的编译
项目的测试
项目的打包,部署
仓库的概念:
maven项目中不会直接存放jar包,而是存放jar包的坐标,maven自动的根据坐标去【仓库】中寻找对应的jar包
仓库的分类:
本地仓库:就是自己电脑中的一个文件夹,这个文件夹中存放了自身常用的jar包
远程仓库
私服:通常就是公司局域网中的一台电脑,这台电脑中存放了公司内部常用的jar包
中央仓库:maven官方所维护的在线网站,这个网站中存放了几乎所有的开源项目的jar包
仓库之间的关系
1. maven默认先从本地仓库中寻找jar包
2. 如果本地没有的话
①如果配置了私服,则去私服中下载jar包,私服中如果没有jar包,则去中央仓库下载
②如果没有配置私服,则直接去中央仓库下载jar包
从私服或者中央仓库下载的jar包,自动存入本地仓库
坐标
jar包(资源)的唯一标识
坐标的三要素
组织id(通常都是通过域名进行表示)
groupId
项目名
artifactId
版本号
version
maven工程的目录结构
1. java项目结构
项目名
src/main/java:核心java代码
src/main/resources:核心java代码所需的配置文件
src/test/java:测试java代码
src/test/resoures:测试java代码所需的配置文件
pom.xml:当前maven工程的核心配置文件
2. web项目结构
项目名
src/main/java:核心java代码
src/main/resources:核心java代码所需的配置文件
src/main/webapp:web工程页面相关资源的存放路径
src/test/java:测试java代码
src/test/resoures:测试java代码所需的配置文件
pom.xml:当前maven工程的核心配置文件
maven构建项目所需的常见指令
mvn clean:清理(删除)之前的构建产物(target目录)
mvn compile:将src/main/java下的核心java代码编译成class文件,存放在target目录
mvn test:
将src/main/java下的核心java代码编译成class文件,存放在target目录
将src/test/java下的测试java代码编译成class文件,存放在target目录
执行所有的测试用例
生成测试报告
mvn package
将src/main/java下的核心java代码编译成class文件,存放在target目录
将src/test/java下的测试java代码编译成class文件,存放在target目录
执行所有的测试用例
生成测试报告
将当前项目打包并存放在target目录
mvn install
将src/main/java下的核心java代码编译成class文件,存放在target目录
将src/test/java下的测试java代码编译成class文件,存放在target目录
执行所有的测试用例
生成测试报告
将当前项目打包并存放在target目录
将当前项目打的包存入了本地仓库
如何将不使用骨架创建的java工程改造成web工程
1. 在src/main下创建一个webapp的文件夹
2. 在当前工程的pom.xml文件中,添加一行配置
<packaging>war</packaging>
3. 在webapp下创建WEB-INF目录,在目录中手动创建web.xml文件(可选)
maven的生命周期
概念:构建项目的过程中必然会执行的命令
分类:
1. 清理生命周期
mvn clean
2. 默认生命周期(构建项目)
mvn compile
mvn test
mvn package
mvn install
3. 站点生命周期