目录
Maven介绍
Maven特点
Maven概念模型图
Maven安装
POM标签说明
Maven生命周期
Maven仓库
Maven依赖搜索顺序
Maven插件
Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念
Maven 利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理
Maven 还可以生成报告, 生成Web站点,并且帮助推动工作团 队成员间的交流
Maven 包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖
管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑
JDK | Maven 3.3 要求 JDK 1.7 或以上 Maven 3.2 要求 JDK 1.6 或以上 Maven 3.0/3.1 要求 JDK 1.5 或以上 |
内存 | 没有最低要求 |
磁盘 | Maven 自身安装需要大约 10 MB 空间。除此之外,额外的磁盘空间将用于你的本地 Maven 仓库。你本地仓库的大小取决于使用情况,但预期至少 500 MB |
系统 | 没有最低要求 |
下载地址:http://maven.apache.org/download.cgi 具体安装和环境变量的配置本文不再详细说明
4.0.0
asia.banseon
banseon-maven2
jar
1.0-SNAPSHOT
banseon-maven
http://www.baidu.com/banseon
A maven project to study maven.
jira
http://jira.baidu.com/banseon
Demo
[email protected]
[email protected]
[email protected]
http:/hi.baidu.com/banseon/demo/dev/
HELLO WORLD
banseon
[email protected]
Project Manager
Architect
demo
http://hi.baidu.com/banseon
No
-5
Apache 2
http://www.baidu.com/banseon/LICENSE-2.0.txt
repo
A business-friendly OSS license
scm:svn:http://svn.baidu.com/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk)
scm:svn:http://svn.baidu.com/banseon/maven/banseon/dao-trunk
http://svn.baidu.com/banseon
demo
http://www.baidu.com/banseon
......
......
Windows XP
Windows
x86
5.1.2600
mavenVersion
2.0.3
/usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/
/usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/
......
......
......
......
......
......
banseon-repository-proxy
banseon-repository-proxy
http://192.168.1.169:9999/repository/
default
......
org.apache.maven
maven-artifact
3.8.1
jar
test
spring-core
org.springframework
true
......
banseon-maven2
banseon maven2
file://${basedir}/target/deploy
banseon-maven2
Banseon-maven2 Snapshot Repository
scp://svn.baidu.com/banseon:/usr/local/maven-snapshot
banseon-site
business api website
scp://svn.baidu.com/banseon:/var/www/localhost/banseon-web
阶段 | 描述 |
---|---|
clean | 执行clean生命周期的pre-clean和clean阶段 |
default(或 build) | 是构建的真正核心部分,包含了下面的构建生命周期 |
site | 常用到的是site阶段和site-deploy阶段,用来生成和发布Maven站点 |
阶段 | 描述 |
---|---|
pre-clean | 在项目实际进行clean之前做的一些预处理工作 |
clean | 移除所有上一次build过程生成的所有文件 |
post-clean | 完成最终项目clean工作的收尾工作 |
阶段 | 描述 |
---|---|
validate | 验证这个项目是否正确,所有必需资源是否可用 |
initialize | 初始化编译的状态,例如:设置一些properties属性,或者创建一些目录 |
generate-sources | 生成所有在编译阶段需要的源代码 |
process-sources | 处理源代码,例如:替换值(filter any values) |
generate-resources | 生成这个项目包所有需要包含的资源文件 |
process-resources | 复制并处理资源文件到目标目录,为packaging 打包阶段做好准备 |
compile | 编译项目的源代码 |
process-classes | 后置处理编译阶段生成的文件,例如:做java字节码的加强操作 |
generate-test-sources | 生成编译阶段需要的test源代码 |
process-test-sources | 处理test源代码,例如:替换值(filter any values) |
generate-test-resources | 生成test测试需要的资源文件 |
process-test-resources | 复制并处理资源文件到test测试目标目录 |
test-compile | 编译项目的测试代码到指定test目标目录 |
process-test-classes | 后置处理test编译阶段生成的文件,例如:做java字节码的加强操作 |
test | 使用适当的单元测试框架运行测试,这些测试用例不应该要求这些代码被打包或者部署才能执行 |
prepare-package | 处理任何需要在正式打包之前要完成的必须的准备工作。这一步的通常结果是解压,处理包版本等 |
package | 打包编译后的代码成可发包格式,例如:jar,war等 |
pre-integration-test | 完成一些在集成测试之前需要做的预处理操作,这通常包括建立需要的环境 |
integration-test | 处理并部署(deploy)包到集成测试可以运行的环境中 |
post-integration-test | 处理一些集成测试之后的事情,通常包括一些环境的清理工作 |
verify | 做一些对包的验证操作,去检测这个包是一个合法的符合标准的包 |
install | 将包安装到本地仓库,提供给作为其他项目使用,例如:包的本地依赖 |
deploy | 最终部署到集成环境或者正式环境,拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程 |
阶段 | 描述 |
---|---|
pre-site | 执行一些实际站点生成之前的预处理操作 |
site | 生成项目的站点文档 |
post-site | 执行一些后置操并完成最终生成站点操作,并为最后站点发布做好准备 |
site-deploy | 部署这个生成好的站点文档到指定的web服务器 |
Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库
在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件
Maven 仓库能帮助我们管理构件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地
类型 | 配置 |
---|---|
本地仓库 | 修改Maven的安装目录下的conf目录下的settings.xml文件的 |
中央仓库 | 同样修改settings.xml文件的配置,在 |
远程仓库 | 在pom.xml中配置,在 |
当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:
Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成。
类型 | 描述 |
---|---|
Build plugins | 在构建时执行,并在 pom.xml 的 元素中配置。 |
Reporting plugins | 在网站生成过程中执行,并在 pom.xml 的 元素中配置。 |
插件 | 描述 |
---|---|
clean | 构建之后清理目标文件。删除目标目录。 |
compiler | 编译 Java 源文件。 |
surefile | 运行 JUnit 单元测试。创建测试报告。 |
jar | 从当前工程中构建 JAR 文件。 |
war | 从当前工程中构建 WAR 文件。 |
javadoc | 为工程生成 Javadoc。 |
antrun | 从构建过程的任意一个阶段中运行一个 ant 任务的集合。 |
除了这些核心插件之外,还有很多优秀的第三方插件,可以帮助我们快捷、方便的构架项目。 当使用到某些功能或者特性的时候多加搜索,往往得到让你惊喜的效果。 |
另附上一个平时工作中经常使用到的Maven工具,点击项目右键即可进行各种maven操作。点击下载 提取码:pw0x