简介
项目构建和管理自动化工具
-
坐标(可由groupId、artifactId、version组成)。
-
构件通过坐标作为其唯一标识。
-
仓库:
-
远程仓库:maven-model-builder-3.3.3.jar\org\apache\maven\model,超级pom.xml文件,全球中央仓库地址:https://repo.maven.apache.org/maven2
-
镜像仓库:/conf/setting文件:
<mirror> <id>maven.net.cn</id> <mirrorOf>central</mirrorOf> <name>central mirror in china</name> <url>http://maven.net.cn/content/groups/public</url> </mirror>
-
本地仓库:修改本地仓库的位置
<localRepository>D:/Maven/repository</localRepository>
-
-
指定jdk1.7
<profile> <id>jdk-1.7</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile>
``
常用构建命令
mvn compile 编译
mvn test 测试
mvn package 打包
mvn clean 删除target
mvn install 安装jar包到本地仓库
自动创建目录骨架
- archetype:generate 按照提示进行
- archetype:generate -DgroupId=组织名, 公司网址的反写+项目名
-DartifactId=项目名-模块名
-Dversion=版本号
-Dpackage=代码所存在的包
完整的项目构建过程
清理、编译、测试、打包、集成测试、验证、部署
maven生命周期
clean:清理项目
- pre-clean :执行清理前的工作
- clean:清理上一次构建生成的所有文件
- post-clean:执行清理后的文件
default:构建项目
- compile test package install
site:生成项目站点
- pre-site 在生成项目站点之前要完成的工作
- site 生成项目的站点文档
- post-site在生成项目站点后要完成的工作
- site-deploy发布生成的站点到服务器上
pom结构
project (根元素,包含约束信息)
modelVersion 指定了当前pom版本
groupId 反写的公司网址+项目名
artifactId 项目名+模块名
version 版本号 第一个0表示大版本号,第二个0表示大版本号,第三个0表示大版本号 0.0.1snapshot快照 alpha內部測試 beta公测 Release稳定 GA正式发布
packaging 打包方式 默认是jar
name 项目的描述名
url 项目的地址
description 项目描述
developers 开发人员信息
licenses 许可证信息
dependencies
-dependency {依赖冲突 1.短路优先(优先依赖最近的模块)2.先声明先优先}
-groupId
-artifactId
-version
-type
-scope 依赖范围 [默认compile、provided、runtime、test、system、import]
-optional 设置依赖是否可选
-exclusions
-exclusion
-groupId
-artifactId
dependencyManagement 依赖管理 不会被运行(子模块来引用)
-dependencies
-dependency
build
-plugins 插件列表(指出坐标)
-plugin
-groupId
-artifactId
-version
parent 对父模块的继承
-groupId [org..]
-artifactId [jetty\tomcat..]
-version [...]
-executions
-execution 在打包成功后使用 jetty\tomcat:run来运行jetty服务
-phase [package]
-goals [run]
-goal
modules 定义多个模块 一起进行编译
-module [聚合的项目、模块]
问题记录
Could not calculate build plan
- 将C:\User.m2\repository\org\apache\maven\plugins\maven-deploy-plugin目录下的文件夹删除;
- 右击项目Maven->Update Project->Update Dependencies
Missing artifact
- 看看本地仓库是否有这个jar的目录,目录里是否有该jar的一个后缀为lastUpdated的文件;
- 如果有就把这个文件删掉,再update一下dependency就行了。