一、简单介绍

Maven 是一个项目构建和管理自动化工具,通过它可以便捷的管理项目的生命周期,包括项目的jar包依赖,开发,测试,发布,打包等。

二、基本概念

2.1 Pom - 项目对象模型

全称(project object model)

2.2 Artifact - 项目原型

即项目模板

2.3 Repositories - 仓库

本地仓库:开发本机的jar包仓库

私服仓库:公司局域网服务器上的jar包仓库

中央仓库:互联网上的中央jar包仓库

2.4 Build Lifecycle - 构建生命周期

maven有一套build的生命周期,是按照一套顺序走下来的,这一套顺序就叫一个生命周期(lifecycle)。maven内置三种生命周期:default, clean 和 site。

一个生命周期分为多个build phase(构建阶段),下面是default生命周期比较重要的build phase,其他请参考:Maven – Introduction to the Build Lifecycle

validate : 验证项目是否正确以及必须的信息是否可用

compile : 编译源代码

test : 测试编译后的代码,即执行单元测试代码

package : 打包编译后的代码,在target目录下生成package文件

integration-test : 处理package以便需要时可以部署到集成测试环境

verify : 检验package是否有效并且达到质量标准

install : 安装package到本地仓库,方便本地其它项目使用

deploy : 部署,拷贝最终的package到远程仓库和其他开发这或项目共享,在集成或发布环境完成

2.5 Goal

goal代表一个特定任务

2.6 综述

maven对构建(build)的过程进行了抽象和定义,这个过程被称为构建的生命周期(lifecycle)。

生命周期(lifecycle)由多个阶段(phase)组成,每个阶段(phase)会挂接一到多个goal。

goal是maven里定义任务的最小单元。

三、常用命令

mvn archetype:create :创建 Maven 项目

mvn compile :编译源代码

mvn test-compile :编译测试代码

mvn test : 运行应用程序中的单元测试

mvn site : 生成项目相关信息的网站

mvn clean :清除目标目录中的生成结果

mvn package : 依据项目生成 jar 文件

mvn install :在本地 Repository 中安装 jar

mvn eclipse:eclipse :生成 Eclipse 项目文件

mvn idea:idea : 生成idea项目文件

mvn -Dmaven.test.skip=true : 忽略测试文档编译

四、pom文件

pom详解

Maven pom.xml 配置详解

pom.xml详解

POM文件详解

五、获取jar包的groupId,artifactId,version信息

http://mvnrepository.com/

http://search.maven.org/

http://mirrors.ibiblio.org/maven2/

http://repository.sonatype.org/index.html

http://www.mvnbrowser.com/

http://www.mvnrepository.com/

六、插件

打包插件

Assembly

maven assembly plugin使用

maven-assembly-plugin的设置

Maven Assembly插件介绍

Maven实战(九)——打包的技巧

使用Maven assembly打多个自定义包及War包简介

七、参考资料

官方文档

易百maven教程

理解maven的核心概念

maven生命周期

是goal还是phase?Maven插件(plugin)goal的执行与生命周期(lifecycle)phase的关系

Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置

Maven常用命令

mvn常用命令

Maven那点事儿(Eclipse版)

Maven使用介绍

Maven实战(六)--- dependencies与dependencyManagement的区别

Maven实战系列-许晓斌

Maven系列二setting.xml 配置详解

最新文章

  1. 【转】Android选项卡置底的方法
  2. Mysql安装出现=========== install/remove of the Service Denied
  3. haslayout
  4. Setting up your App domain for SharePoint 2013
  5. c++11 lambda(匿名函数)
  6. MySQL二进制文件规范安装
  7. spfa + slf优化
  8. java如何从方法返回多个值
  9. AJAX应用的五个步骤
  10. [Spark性能调优] 第三章 : Spark 2.1.0 中 Sort-Based Shuffle 产生的内幕
  11. 【Luogu1879】玉米田(状态压缩,动态规划)
  12. Linux error numbers
  13. Vue如何更新子组件
  14. Django 笔记(三)模版路径 ~ 静态引用
  15. 【iCore1S 双核心板_FPGA】例程八:触发器实验——触发器的使用
  16. 完美解决百度网盘、浏览器下载限速问题proxyee-down(附带win破解版云盘)
  17. LeetCode——10. Regular Expression Matching
  18. Google 翻译(中英,英中)
  19. Oracle EBS 贷项通知单核销
  20. Spring之c3p0连接池xml配置和使用举例

热门文章

  1. 使用Memory Analyzer tool(MAT)分析内存泄漏(一)
  2. 原始套接字(SOCK_RAW)
  3. Xamarin.Android开发实践(六)
  4. cocos2dx游戏开发——微信打飞机学习笔记(八)——EnemyLayer的搭建
  5. 使用supervisor提高nodejs调试效率 (已验证)
  6. 【xml 报错】xml编译错误
  7. 全自动编译FFmpeg(含x264,fdk aac,libmp3lame,libvpx等第3方库)
  8. ARP侦查工具Netdiscover
  9. DP+路径 URAL 1029 Ministry
  10. ZOJ 3908 Number Game ZOJ Monthly, October 2015 - F