maven优点
- 优秀的构建工具,帮我们自动化构建过程,从清理,编译,测试到生成报告,再到打包和部署。
- 跨平台,对外实现一致的操作接口。
- 最大化消除了构建的重复,并且为了大部分的构建任务提供了已实现的插件。
- 标准化构建过程。
- 一个依赖管理工具和项目信息管理工具
- 对于Maven项目的目录结构和测试用例命名方式等内容都有既定的规则,约定优于配置。
Maven命令列表
- mvn –version
- 显示版本信息
- mvn clean
- 清理项目生产的临时文件,一般是模块下的target目录
- mvn compile
- 编译源代码,一般编译模块下的src/main/java目录
- mvn package
- 项目打包工具,会在模块下的target目录生成jar或war等文件
- mvn test
- 测试命令,或执行src/test/java/下junit的测试用例.
- mvn install
- 将打包的jar/war文件复制到你的本地仓库中,供其他模块使用
- mvn deploy
- 将打包的文件发布到远程参考,提供其他人员进行下载依赖
- mvn site
- 生成项目相关信息的网站
- mvn eclipse:eclipse
- 将项目转化为Eclipse项目
- mvn dependency:tree
- 打印出项目的整个依赖树
- mvn archetype:generate
- 创建Maven的普通java项目
- mvn tomcat:run
- 在tomcat容器中运行web应用
- mvn jetty:run
- 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用
Pom元素参考
元素名称 | 简 介 |
---|
| POM的xml根元素 |
| 声明继承 |
| 声明聚合 |
| 坐标元素之一 |
| 坐标元素之一,默认值jar |
| 名称 |
| 描述 |
| 许可证 |
| 邮件列表 |
| 开发者 |
| 贡献者 |
| 问题追踪系统 |
| 持续集成系统 |
| 版本控制系统 |
| 要求Maven最低版本,默认值为2.0 |
| 主源码目录 |
| 脚本源码目录 |
| 测试源码目录 |
| 主源码输出目录 |
| 测试源码输出目录 |
| 主资源目录 |
| 测试资源目录 |
| 输出主构件的名称 |
| 输出目录 |
| 通过properties文件定义资源过滤属性 |
| 扩展Maven的核心 |
| 插件管理 |
| 插件 |
| POM Profile |
| 发布版本部署仓库 |
| 快照版本部署仓库 |
| 仓库 |
| 插件仓库 |
| 依赖 |
| Maven属性 |
| 报告插件 |
setting元素参考
元素名称 | 简 介 |
---|
| settings.xml文档的根元素 |
| 本地仓库 |
| Maven是否与用户交互,默认值为true |
| 离线模式,默认值为false |
| 插件组 |
| 下载与部署仓库的认证信息 |
| 仓库镜像 |
| 代理 |
| settings profile |
| 激活profile |
常用插件列表
插件名称 | 用途 | 来源 |
---|
maven–clean-plugin | 清理项目 | Apache |
maven–compile-plugin | 编译项目 | Apache |
maven–deploy-plugin | 部署项目 | Apache |
maven–install-plugin | 安装项目 | Apache |
maven–resources-plugin | 处理资源文件 | Apache |
maven–site-plugin | 生成站点 | Apache |
maven–surefire-plugin | 执行测试 | Apache |
maven–jar-plugin | 构建JAR项目 | Apache |
maven–war-plugiin | 构建war项目 | Apache |
maven–shade-plugin | 构建包含遗憾的JAR包 | Apache |
maven–changelog-plugin | 生产版本控制变更报告 | Apache |
maven–checkstyle-plugin | 生成checkStyle报告 | Apache |
maven–javadoc–plugin | 生成JavaDoc文档 | Apache |
maven–jxr–plugin | 生成源码交叉引用文档 | Apache |
maven–pmd–plugin | 生成PMD报告 | Apache |
maven–project–info-reports–plugin | 生成项目信息报告 | Apache |
maven–surefire–plugin | 生成单元测试报告 | Apache |
maven–antrun–plugin | 调用Ant任务 | Apache |
maven-archetype–plugin | 基于Archetype生成项目骨架 | Apache |
maven–assembly–plugin | 构建自定义格式的分布包 | Apache |
maven–dependency–plugin | 依赖分析及控制 | Apache |
maven–enforcer–plugin | 定义规则并强制要求遵守 | Apache |
maven–pgp–plugin | 为项目构建生成PGP签名 | Apache |
maven-invoke–plugin | 自动运行Maven项目构建并验证 | Apache |
maven–release–plugin | 自动项目版本发布 | Apache |
maven–scm–plugin | 集成版本控制系统 | Apache |
maven–source–plugin | 生成源码包 | Apache |
maven–eclipse–plugin | 生成Eclipse项目环境变量 | Apache |
jboss–maven–plugin | 启动、停止Jboss,部署项目 | Codehaus |
properties–maven–plugin | 从properties文件读写Maven属性 | Codehaus |
sql–maven–plugin | 运行SQL脚本 | Codehaus |
tomcat–maven–plugin | 启动、停止、部署项目 | Codehaus |
versions–maven–plugin | 自动化批量更新POM版本 | Codehaus |
cargo–maven–plugin | 启动/停止/配置各类Web容器自动化部署Web项目 | Cargo |
jetty–maven–plugin | 集成jetty容器,实现快速开发测试 | Eclipse |
maven–gae–plugin | 集成Google APP Engine | Googlecode |
maven–android–plugin | 构建Android项目 | Googlecode |