一、Maven简介
1.Maven项目对象模型(POM),可以通过一小段描述信息管理项目构建,报告和文档的软件项目管理工具。它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
2.特点:
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。
下载地址:http://maven.apache.org/
项目开发周期:
1.创建项目
项目类型:javase项目 Javaee项目
2.编码阶段
编码+添加依赖的jar包+Tomcat配置…
3.编译项目:jdk的javac
4.运行项目(找到项目的main方法)jdk的Java命令
5.打包发布
maven–融合了四个阶段(控制依赖jar 仓库)
repo1.maven.org—>中心仓库
二、Maven仓库
Maven仓库就是放置所有jar文件(war,zip,pom等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需的依赖jar。
Maven仓库分类如下图所示:
1.中央仓库
http://search.maven.org
http://repo1.maven.org/maven2/
包含世界上大多数流行的开源java构件
2.私服
http://10.10.8.201:8081/nexus/index.html
1.私服是特殊的远程仓库,是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven用户使用。
2.优点:节省自己的外网带宽、加速Maven构建、部署第三方构件、提高稳定性,增强控制、降低中央仓库的负荷。
3.配置其他公共库
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
三、Maven的安装和配置
1.安装:
http://maven.apache.org/download.html下载最新的maven,解压到指定目录。
2.配置环境变量:
3.控制台中执行mvn-v测试是否配置成功
4.配置setting.xml
5.在eclipse中添加需要使用的Maven位置
6.设置用户settings.xml文件
四、Maven的使用
1.Maven原理:
2.项目目录:
3.检查项目的编码是否是utf-8,检查项目使用的jdk版本(最好1.7版本比较稳定)。
4.修改项目基本信息。
5.配置项目的自定义属性及项目依赖。
公司名(com/cn.公司名)
项目名
版本号
SNAPSHOT(开发阶段 不稳定)
RELEASE(发布阶段 稳定)
6.依赖范围
compile(编译范围) compile是默认的范围,会被打包。
provided(已提供范围) provided依赖只有在当JDK或者一个容器已提供该依赖之后才使用。它们不是传递性的,也不会被打包。
runtime(运行时范围) runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。
test(测试范围)只有在测试编译和测试运行阶段可用。
system(系统范围)必须显式的提供一个对于本地系统中JAR文件的路径。注意该范围是不推荐使用。
7.常用命令
mvn archetype:generate :创建 Maven 项目
mvn compile :编译源代码
mvn test-compile :编译测试代码
mvn test : 运行应用程序中的单元测试
mvn site : 生成项目相关信息的网站
mvn clean :清除目标目录中的生成结果
mvn package : 依据项目生成 jar 文件
mvn install :在本地 Repository 中安装 jar
mvn deploy:将jar包发布到远程仓库
mvn eclipse:eclipse :生成 Eclipse 项目文件
8.pom.xml文件中重要标签解析:
4.0.0:表示maven的pom(项目管理工具)类型版本
cn.easytop: 公司名
testwar: 项目名
0.0.1-SNAPSHOT: 项目的版本号(SNAPSHOT–测试版)
war:项目类型(如:jar、javase项目–main方法、javaee–发布到tomcat)
:当前的项目依赖哪些jar
9.插件:plugins
Maven插件 表示在maven构建构成中执行的jar 名称 插件名-maven-plugin命名,可以通过jar包中plugins.xml中找到所有的配置定义
继承:Maven的继承特性能够帮助抽取各模块相同的依赖和插件等配置,在简化POM的同时,还能够促进各个模块配置的一致性。
1.统一版本
2.加载jar包
dependencies:子项目直接加载(适合做项目开发)
dependencyManager:只定义所有的版本信息 子项目可以选择性加载(适合框架开发)
聚合:后面再介绍