maven学习笔记 1
- 1 概述
- 1.1 Maven是什么
- 1.2 为什么要用Maven
- 2 怎么用Maven
- 2.1 Maven仓库
- 2.2 Maven安装
- 2.3 Eclipse插件
- 2.4 Maven常用命令
- 2.5 Android插件
- 3 资料
1 概述
1.1 Maven是什么
Maven属于项目管理工具,包含一个依赖管理系统,一个项目对象模型,一组标准集合(约定优于配置),
一个项目生命周期,一组运行在生命周期阶段的插件。(摘自参考书. 3.5. 核心概念)
项目对象模型(Project Object Model POM)是Maven用来描述项目的依赖、构建配置、构件,通过pom.xml文件来描述。
Maven的生命周期包括三套:
1、Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
2、Default Lifecycle 构建的核心部分,编译、测试、打包、部署等。
3、Site Lifecycle 生成项目报告、站点、发布站点。
1.2 为什么要用Maven
1) 如何方便管理Jar包的一致性?
2) 如何管理工程之间的依赖关系?
3) 如何处理Jar包版本冲突?
4) 如何处理有BUG的Jar依赖?
5) 如何做到自动构建、部署?
6) 可以做到自动构建apk并自动签名
2 怎么用Maven
2.1 Maven仓库
Maven仓库一般分为远程仓库和客户端本地仓库。
Maven客户端通过apache-maven-3.0.4\conf \settings.xml
文件来配置项目工程使用的仓库信息及本地仓库的存储位置。
本地仓库是远程仓库的缓冲子集,如果本地仓库没有,
Maven会从远程仓库下载到本地仓库,下次使用就不用去远程仓库下载。
Maven远程仓库是用于集中管理和存储第三方Jar包的服务器。
远程仓库又分为中央仓库服务器和镜像服务器,
中央仓库服务器是指Maven官方的仓库服务器,
镜像服务器是指其他搭建的仓库服务器。
企业可以搭建自己的仓库服务器,一般称为私服。
2.2 Maven安装
下载并解压apache-maven-3.0.4,在环境变量中设置M2_HOME为你的apache-maven-3.0.4目录的路径。
在path环境变量中增加%M2_HOME%\bin;打开CMD,输入mvn –v,就会显示出Maven的版本。
2.3 Eclipse插件
安装M2eclipse(请参见Maven实战14.3),就可以通过Eclipse创建或导入一个Maven项目。
针对一个Maven项目可以进行
1、添加依赖和插件;
2、更新依赖、快照和源代码文件夹;
3、创建一个Maven模块等。
2.4 Maven常用命令
1、创建Maven的普通JAVA项目;
2、创建Maven的Web项目;
3、编译源代码;
4、运行测试;
5、运行测试;
6、打包;
7、在本地安装jar;
8、清除产生的项目。
2.5 Android插件
安装Eclipse插件,Android-maven-plugin。
在新建Maven工程时,添加android原型archieve。
(参见<建立Maven Android项目>)
3 资料
《Maven权威指南》
《Maven生命周期详解》
<建立Maven Android项目>
http://blog.csdn.net/anialy/article/details/8539182
maven学习笔记 1的更多相关文章
- Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...
- Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...
- Maven学习笔记—仓库
Maven仓库 1 什么是Maven仓库 在Maven中,任何一个依赖.插件或者项目构建的输出,都可以成为构件,而Maven通常在某个位置统一的存储所有Maven项目共享的构件,这个统一的位置就是Ma ...
- MAVEN学习笔记之Maven插件的应用(4)
MAVEN学习笔记之Maven插件的应用(4) <build> <pluginManagement> <plugins> <plugin> <gr ...
- MAVEN学习笔记之Maven生命周期和插件简介(3)
MAVEN学习笔记之Maven生命周期和插件简介(3) clean compile site三套生命周期相互独立. clean pre-clean 执行清理前的工作 clean 清理上一次构建生成的所 ...
- MAVEN学习笔记之私服Nexus(2)
MAVEN学习笔记之私服Nexus(2) 私有服务器搭建 Nexus www.snatype.org下载 snatype-work 是默认nexus存储nexus a:将bin添加到环境中 Admin ...
- MAVEN学习笔记之基础(1)
MAVEN学习笔记之基础(1) 0.0 maven文件结构 pom.xml src main java package resource test java package resource targ ...
- Maven 学习笔记(二)
前面一文——Maven 学习笔记(一)中已经提到了 pom 的大部分配置,Maven 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给创建来完成,每一个任务都会对应一个插件 ...
- TODO maven学习笔记
maven是什么? 我的体会 我理解得maven就是一个构建工具,可以做一些项目得整合操作,我们把一些常见得操作,封装在maven里面,并给它命名成 clean,test,compile,这些步骤都是 ...
- Maven学习笔记(1)之安装Maven
此笔记是学习Maven时自己摸索+各种百度而来,并非全部原创,望与各位一同学习,勿拍~勿拍~ 安装步骤 1.下载Maven的最新版本,地址:http://maven.apache.org/downlo ...
随机推荐
- 关于No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s)使用百度地图的解决办法
出现的原因:armv7s是应用在iPhone 5 A6 的架构上的解决的方式:1,在Project target里“Architectures”设置为“Standard (armv7,armv7s)” ...
- (╭ ̄3 ̄)╭ 小希的迷宫II
(╭ ̄3 ̄)╭ 小希的迷宫II TimeLimit: 2000/1000 MS (Java/Others) MenoryLimit: 65536/32768 K (Java/Others) 64-b ...
- 使用observable数组(Working with observable arrays)
observable数组(observable arrays) 如果你要探测和响应一个对象的变化,你应该用observables.如果你需要探测和响应一个集合对象的变化,你应该用observableA ...
- 关于oracle数据库(10)函数
分析函数,用于统计排名 语法:函数名() over(order by 排序字段 asc | desc) row_number() 无论值是否相等,生成连续的行号 -- 1,2,3,4, select ...
- Linux RSS/RPS/RFS/XPS对比
RSS适合于多队列网卡,把不同的流分散的不同的网卡多列中,至于网卡队列由哪个cpu处理还需要绑定网卡队列中断与cpu RPS:适合于单队列网卡或者虚拟网卡,把该网卡上的数据流让多个cpu处理 RFS: ...
- input时间输入框小解
date 年月日 month 年月 week 年周(ios上不可用,android部分会显示当前是第几周) time 时分(ios不显示时/分的字样) datetime 为一输入框,基本 ...
- C中内存分配方式[转载]
在C 中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 一.简介: 1.栈,就是那些由编译器在需要的时候分配,在无需的时候自动清除的变量的存储区.里面的变量通常是局部变 ...
- HDU 5807 Keep In Touch
加维降复杂度 #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #inc ...
- HDU 3081 Marriage Match II
二分图的最大匹配+并查集 每次匹配完之后,删除当前匹配到的边. #include<cstdio> #include<cstring> #include<cmath> ...
- JDK和JRE的区别
JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE.Java工具和Java基础类库.Java Runtime Enviro ...