maven
Maven安装
下载zip解压即可, 想要使用Maven, 必须安装JDK, 并配置好环境变量
JAVA_HOME应该设置为:D:\DevelopTools\JAVA\JDK
path应该设置为:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(注意其中的分号)
classpath应该设置为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Maven配置
参考https://www.cnblogs.com/yaoqingzhuan/p/12309320.html
maven项目的目录结构
--项目名称
|-src
|----main
| |---java
| |---resource
|----test
| |---java
| |---resource
|-pom.xml
|-tartget
maven中的目录机构是约定好的
根目录: 工程名
src目录: 源码
pom.xml文件: Maven工程的核心配置文件
main目录: 存放主程序
test目录: 存放测试目录
java目录: 存放java源代码
resource目录: 存放框架或者其他工具的配置文件
target目录: 打包编译后的文件存放目录, surefire-reports打包执行测试程序后的测试报告
为什么要遵守约定的目录结构呢?
Maven要负责项目的自动构建, 那么它必须知道Java源代码保存在哪里.
在java目录下建包, 即在java后新建目录
Maven命令
执行与构建过程相关的Maven命令, 必须进入pom.xml所在目录, 比如: 编译 打包 测试
常用命令
mvn clear 清理
mvn compile 编译主程序(main)
mvn test-compile 编译测试程序(test)
mvn test 执行测试
mvn package 打包(会执行test程序)
pom
project object model 项目对象模型
pom.xml 对于Maven项目是核心配置文件, 与构建过程相关的一切设置都在这个文件中进行配置
坐标
在平面中, 使用x y两个向量可以唯一定位平面中的任意一个点
在Maven中的坐标, 使用下面三个向量在仓库中唯一定位一个Maven工程
groupid: 公司或组织域名倒序 + 项目名称
artifactid: 模块名(项目下的模块)
version: 版本
Maven中的坐标与仓库中路径对于关系
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.10</version>
</dependency>
对于的jar包路径: org\testng\testng\6.10\testng-6.10.jar
仓库
仓库中保存的内容
Maven自身需要的Jar包
第三方框架或工具的jar包
我们自己开发的Maven工程
依赖
Maven解析依赖时会到本地仓库中查找依赖的jar包
对于我们自己开发的Maven工程, 使用 mvn install 命令就可以进入仓库.
依赖的范围:
compile范围的依赖
对主程序是否有效: 有效
对测试程序是否有效: 有效
是否参与打包: 参与
test范围的依赖
对主程序是否有效: 无效
对测试程序是否有效: 有效
是否参与打包: 不参与
provided范围的依赖