Maven学习记录
一、简单介绍
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文件
五、获取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/
六、插件
打包插件
使用Maven assembly打多个自定义包及War包简介
七、参考资料
是goal还是phase?Maven插件(plugin)goal的执行与生命周期(lifecycle)phase的关系
Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
Maven实战(六)--- dependencies与dependencyManagement的区别
Maven学习记录的更多相关文章
- memcached tomcat maven 学习记录
2016.12.11 maven 快速搭建项目,只要有pom.xml文件配置好依赖 可以把项目切割(具体切割出来的块怎么用?) nginx 负载均衡 文件服务器 主要配置nginx.conf 文件 ...
- maven学习记录四——私服 nexus
8 私服 nexus 安装nexus 启动服务 启动失败的解决方法: 登录nexus 用户名/密码 admin/admin123 仓库类型 Virtual 虚拟仓库 Proxy 代 ...
- maven学习记录三——maven整合ssh框架
6 整合ssh框架 6.1 依赖传递 只添加了一个struts2-core依赖,发现项目中出现了很多jar, 这种情况 叫 依赖传递 6.2 依赖版本冲突的解决 1. 第 ...
- maven学习记录二——依赖管理
5 依赖管理 Jar包的管理 需求:整合struts2 页面上传一个客户id 跳转页面 5.1 添加依赖: 打开maven仓库的视图: 5.2 重建索引 1. 创建m ...
- maven学习记录一——maven介绍及入门
1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 1.2 Maven好处 普通的传统项目 M ...
- Maven学习记录3——创建、编译、打包、运行项目
http://blog.csdn.net/yaya1943/article/details/48464371
- 我的Spring学习记录(二)
本篇就简单的说一下Bean的装配和AOP 本篇的项目是在上一篇我的Spring学习记录(一) 中项目的基础上进行开发的 1. 使用setter方法和构造方法装配Bean 1.1 前期准备 使用sett ...
- 我的Spring学习记录(四)
虽然Spring管理这我们的Bean很方便,但是,我们需要使用xml配置大量的Bean信息,告诉Spring我们要干嘛,这还是挺烦的,毕竟当我们的Bean随之增多的话,xml的各种配置会让人很头疼. ...
- Springboot学习记录1--概念介绍以及环境搭建
摘要:springboot学习记录,环境搭建: 官方文档地址:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/ht ...
随机推荐
- Fedora 21 install chrome
Steps to install Google Chrome on Fedora 21 A. Create google-chrome.repo file Use this command to cr ...
- Android学习笔记——文件路径(/mnt/sdcard/...)、Uri(content://media/external/...)学习
一.URI 通用资源标志符(Universal Resource Identifier, 简称"URI"). Uri代表要操作的数据,Android上可用的每种资源 - 图像.视频 ...
- Material Design综合实例
背景知识 drawlayout的使用 recycleView的使用 CardView的使用 一些开源动画库的使用 ImageView的scaleType属性与adjustViewBounds属性 ,参 ...
- MVC学习笔记---MVC生命周期及管道
ASP.NET和ASP.NET MVC的HttpApplication请求处理管道有共同的部分和不同之处,本系列将体验ASP.NET MVC请求处理管道生命周期的19个关键环节. ①以IIS6.0为例 ...
- TinyHttpd中sockaddr与struct sockaddr_in的区别
上午学习TinyHttpd的源码,sockaddr 结构体以前没接触过, 在网络编程中经常用到struct sockaddr和struct sockaddr_in,这里简单介绍. 在linux环境下, ...
- 使用Java内存映射(Memory-Mapped Files)处理大文件
>>NIO中的内存映射 (1)什么是内存映射文件内存映射文件,是由一个文件到一块内存的映射,可以理解为将一个文件映射到进程地址,然后可以通过操作内存来访问文件数据.说白了就是使用虚拟内存将 ...
- 如何解决adb devices 端口被占用的问题zz
在win xp ,win 7 上使用adb时, 越来越多的人出现了 adb devices 命令长时间无响应.adb start-server 失败.eclipse adt初始化时卡在dbms-ini ...
- OpenStack Swift集群部署流程与简单使用
之前介绍了<OpenStack Swift All In One安装部署流程与简单使用>,那么接下来就说一说Swift集群部署吧. 1. 简介 本文档详细描述了使用两台PC部署一个小型Sw ...
- WSGI服务器实践二--实践一个基本功能的WSGI服务器
由于各种PYTHON框架都实现了WSGI接口,所以,通用性很广的. 在调试过程过,有一个字母拼错,搞了一个小时. 看来PYTHON自带的编辑器没有高亮,不爽. 在有提示的编辑器里一看就看了来啦..:) ...
- [杂] 一些常用的SQL归类之一
整理了一大坨的常用SQL语句,以方便自己需要用的时候查找. 查看锁 SELECT [request_session_id] , c.[program_name] , DB_NAME(c.[dbid]) ...