目录
Maven
前置基础:Java Web
一、下载、安装和配置
-
指定本地仓库
-
< localRepository> ${仓库地址} < /localRepository>
-
注意:仓库地址一定是非中文,无空格。
-
-
配置镜像仓库
-
< mirrors> 标签里面的< mirror>标签进行设置
-
-
配置Maven工程的基础JDK版本
-
Java工程的默认JDK版本是1.5
-
< profiles>标签里面的< profile>标签进行设置
-
二、Maven的使用
-
核心概念:
-
坐标
-
groupId:公司或组织的id
-
artifactId:一个项目或者是项目中的一个模块的id
-
version:版本号
-
-
-
使用命令生成Maven工程:
-
cmd ==> mvn archetype:generate
-
-
pom的标签:
-
project:根标签,表示对当前工程进行配置、管理
-
modeVersion:从Maven 2 开始就固定式4.0.0。代表当前pom.xml 所采用的标签结构。
-
gav:【groupId、artifactId、version】坐标信息
-
packaging:打包方式。
取值:jar:生成jar包,说明这是一个Java工程。
取值:war:生成war包,说明这是一个 Web工程。
取值:pom:说明这个工程是用来管理其他工程的工程。
-
properties:在Maven中定义属性值。
-
dependencies/dependency:配置具体依赖信息。
-
scope:配置当前依赖的范围。
-
三、Maven核心概念:
1、POM
-
含义:
-
POM: Project Object Model,项目对象模型。和POM类似的是:DOM(Document Object Model),文档对象模型,它们都是模型化思想的具体体现。
-
2、约定的目录结构
-
各个目录的作用
-
src:源码目录
-
main:主体程序目录
-
java:Java源代码
-
resources:配置文件
-
test:测试程序目录
-
-
约定目录结构的意义
-
Maven为了让构建过程尽可能自动化完成,所以必须约定目录结构的作用。
-
-
约定大于配置
-
Maven对于目录结构这个问题,没有采用配置的方式,而是基于约定,这样会让我们在开发过程中非常方便,如果每次创建Maven工程后,还需要针对各个目录的位置进行详细的配置,那肯定非常麻烦。
-
目前开发领域的技术发展趋势就是:约定大于配置,配置大于编码。
-
四、执行Maven的构建命令
-
清理操作:
-
mvn clean
-
效果:删除target目录
-
-
编译操作:
-
主程序编译:mvn compile
-
测试程序编译:mvn test-compile
-
主体程序编译结果存放的目录:target/classes
-
测试程序编译结果存放的目录:target/classes
-
-
测试操作:
-
mvn test
-
测试报告存放的目录:target/surefire-reports
-
-
打包操作:
-
mvn package
-
打包的结果——jar包,存放的目录:target
-
-
安装操作:
-
mvn install
-
安装的效果是将本地构建过程中生成的jar包存入Maven本地仓库,这个jar包在Maven仓库中的路径是根据它的坐标生成的。
-