一、简单介绍

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 配置详解

Maven学习记录的更多相关文章

  1. memcached tomcat maven 学习记录

    2016.12.11 maven 快速搭建项目,只要有pom.xml文件配置好依赖 可以把项目切割(具体切割出来的块怎么用?) nginx 负载均衡  文件服务器 主要配置nginx.conf 文件 ...

  2. maven学习记录四——私服 nexus

    8       私服 nexus 安装nexus 启动服务 启动失败的解决方法: 登录nexus 用户名/密码  admin/admin123 仓库类型 Virtual   虚拟仓库 Proxy  代 ...

  3. maven学习记录三——maven整合ssh框架

    6       整合ssh框架 6.1     依赖传递 只添加了一个struts2-core依赖,发现项目中出现了很多jar, 这种情况 叫 依赖传递 6.2     依赖版本冲突的解决 1.  第 ...

  4. maven学习记录二——依赖管理

    5       依赖管理 Jar包的管理 需求:整合struts2   页面上传一个客户id 跳转页面 5.1     添加依赖: 打开maven仓库的视图: 5.2     重建索引 1.  创建m ...

  5. maven学习记录一——maven介绍及入门

    1       Maven的简介 1.1     什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 1.2     Maven好处 普通的传统项目 M ...

  6. Maven学习记录3——创建、编译、打包、运行项目

    http://blog.csdn.net/yaya1943/article/details/48464371

  7. 我的Spring学习记录(二)

    本篇就简单的说一下Bean的装配和AOP 本篇的项目是在上一篇我的Spring学习记录(一) 中项目的基础上进行开发的 1. 使用setter方法和构造方法装配Bean 1.1 前期准备 使用sett ...

  8. 我的Spring学习记录(四)

    虽然Spring管理这我们的Bean很方便,但是,我们需要使用xml配置大量的Bean信息,告诉Spring我们要干嘛,这还是挺烦的,毕竟当我们的Bean随之增多的话,xml的各种配置会让人很头疼. ...

  9. Springboot学习记录1--概念介绍以及环境搭建

    摘要:springboot学习记录,环境搭建: 官方文档地址:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/ht ...

随机推荐

  1. windows 常用快捷键

    快捷键,学会就可以扔掉鼠标.      F1帮助              F2改名              F3搜索              F4地址              F5刷新     ...

  2. 使用Java内存映射(Memory-Mapped Files)处理大文件

    >>NIO中的内存映射 (1)什么是内存映射文件内存映射文件,是由一个文件到一块内存的映射,可以理解为将一个文件映射到进程地址,然后可以通过操作内存来访问文件数据.说白了就是使用虚拟内存将 ...

  3. Android中获取蓝牙log

    1.蓝牙的snoop log存放位置 /etc/bluetooth/bt_stack.conf   2.修改方法 #关闭蓝牙 修改bt_stack.conf文件中打印log的等级 adb root a ...

  4. linux tricks 之 FIELD_SIZEOF.

    ------------------------------------------- 本文系作者原创, 欢迎大家转载! 转载请注明出处:netwalker.blog.chinaunix.net -- ...

  5. .NET 下各种Resource的读取方式

    1) Embedded Resource (Build Action 设置为 Embedded Resource) 在运行时使用GetManifestResourceStream读取 Image.Fr ...

  6. loj 1150(spfa预处理+二分+最大匹配)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26864 思路:首先是spfa预处理出每个'G'到'H'的最短距离, ...

  7. 驱动模式使用__try __excpet

    内核模式下判断内存可读可写(下面两个函数是判断ring3的内存.我也搞不懂有啥用) VOID ProbeForRead( IN CONST VOID *Address, IN SIZE_T Lengt ...

  8. c# 作业2

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. Android 利用Gson生成或解析json

    目前手机端和服务端数据交流格式一般是json,而谷歌提供了Gson来解析json.下载Gson:https://code.google.com/p/google-gson/ 下载的放在lib并导入,若 ...

  10. mysql的常用函数

    原文地址参考:http://www.cnblogs.com/ringwang/archive/2008/07/05/1236292.html 1. 控制流函数 1.1  IFNULL(expr1,ex ...