maven是一个自动化构建工具,并且是依赖管理工具和项目信息管理工具
具体功能:工程的清理,编译,测试,生成报告,打包和部署
maven特点:1、约定优于配置,因此,不需要编写太多码
2、它基于jdk,是跨平台的
maven自动会从http://repo1.maven.org/maven2 去下载资源
<dependency>的<scope>为依赖范围:
<scope>test</scope> 表示依赖只对测试代码生效,src/test/java中的代码可以import依赖中的class,对编译测试代码和运行测试有效
<scope>compile</scope>表示住代码和测试代码都可以引用,对编译,测试和运行都有效
<scope>provided</scope>编译和测试有效,运行无效,典型的例子是servlet-api
<scope>runtime</scope>仅运行时有效,例如jdbc驱动的实现
<scope>system</scope>不通过maven仓库解析,往往与本机系统绑定,可能造成构建的不可移植,慎用
<scope>import</scope>
maven命令:
编译命令:mvn clean compile
将项目住代码编译至target/classes
测试命令:mvn clean test
测试并生成测试报告命令:surefire:test
surefire是maven 中负责执行测试的插件
打包和运行命令:mvn clean package
默认的打包类型为jar
输出本项目jar包到本地仓库:mvn clean install
下载依赖jar包对应的源代码:mvn dependency:sources
尝试下载对应的java docs:mvn dependency:resolve -Dclassifier=javadoc
查看当前项目已解析的依赖的命令:mvn dependency:list