Maven3.0学习文档.doc
《Maven3.0学习文档.doc》由会员分享,可在线阅读,更多相关《Maven3.0学习文档.doc(12页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流Maven3.0学习文档【精品文档】第 12 页Maven入门教程1.1. 介绍、环境配置1.1.1. Maven介绍Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Object Model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中, 通过该文件Maven可以管理项目的整个声明周期,包括清除、编译,测试,报告、打包、部署等等。目前Apache下绝大多数项目都已经采用Maven进行管理. 而Maven本身还支持多种插件, 可以方便更灵活的控制项目, 开发人员的主
2、要任务应该是关注商业逻辑并去实现它, 而不是把时间浪费在学习如何在不同的环境中去依赖jar包,项目部署等。Maven正是为了将开发人员从这些任务中解脱出来而诞生的1.1.2. Maven能够做什么l Jar的声明式依赖性管理l 项目自动构建1.1.3. 环境配置l http:/maven.apache.org/download.html 下载最新版本Maven 3.0.2 (Binary zip)l 解压到 D(本身就是绿色版不需要安装):l 配置环境变量(配置之前,必须确定配置了JDK环境变量)MAVEN_HOME : D:apache-maven-3.0.2把此命令添加到Path中: %M
3、AVEN_HOME%binl 配置用户范围的settings.xmlMAVEN_HOME/conf/settings.xml 全局的/.m2/settings.xml 单个用户的l 验证安装是否成功在命令行上输入: mvn -version;回车, 如看到下面信息表示安装成功1.1.4. Maven目录分析l bin:含有mvn运行的脚本l boot:含有plexus-classworlds类加载器框架l conf:含有settings.xml配置文件l lib:含有Maven运行时所需要的java类库l Settings.xml 中默认的用户库: $user.home/.m2/reposit
4、ory通过maven下载的jar包都会存储到指定的个人仓库中l Maven默认仓库下载地址在: maven的lib目录下maven-model-builder-3.0.4.jar的pom.xml中1.2. 第一个Maven演示1.2.1. 创建目录结构Convention Over Configuration (约定优于配置)。在现实生活中,有很多常识性的东西,地球人都知道。比如说:如何过马路(红灯停绿灯行),如何开门,关门等。对于这些事情,人们已经有了默认的约定, 在软件开发过程中,道理也是类似的,如果我们事先约定好所有项目的目录结构,标准开发过程(编译,测试) , 所有人都遵循这个约定。软
5、件项目的管理就会变得简单很多。在现在流行的很多框架中,都使用了这个概念Hello -src -main -java -用来存放Java文件 -resources -用来存放资源文件 -test -java -用来存放测试的Java文件 -resources -target -项目输出位置,编译完毕后自动生成 -pom.xml1.2.2. 建立pom.xml 4.0.0 cn.itcast.maven Hello 0.0.1-SNAPSHOT junitjunit4.9testpom.xml 文件是maven对一个项目的核心配置,这个文件将包含你希望如何构建项目的大多数配置信息。POM大而复杂,
6、但你不用全部去了解,只要使用一些常用的配置就可以了1.2.3. 创建Java类与测试类l 在src/main/java/cn/itcast/maven目录下新建文件Hello.javapackage cn.itcast.maven;public class Hello public String sayHello(String name)return Hello +name+!;l 在/src/test/java/cn/itcast/maven目录下新建测试文件HelloTest.javapackage cn.itcast.maven;import org.junit.Test;import
7、static junit.framework.Assert.*;public class HelloTest Testpublic void testHello()Hello hello = new Hello();String results = hello.sayHello(litingwei);assertEquals(Hello litingwei!,results);1.2.4. 命令测试打开cmd命令行, 进入Hello项目根目录执行mvn compile命令, 查看根目录变化cmd 中继续录入mvn clean命令,然后再次查看根目录变化cmd 中录入 mvn clean com
8、pile命令, 查看根目录变化cmd 中录入 mvn clean test命令,查看根目录变化cmd 中录入 mvn clean package命令,查看根目录变化1.3. Maven核心概念1.3.1. Maven插件Maven的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的每个插件都能实现多个功能,每个功能就是一个插件目标Maven的生命周期与插件目标相互绑定,以完成某个具体的构建任务, Maven的插件在: .m2repositoryorgapachemavenplugins1.3.2. Maven坐标类似在平面几何中坐标(x,y)可以标识平面中唯一的一点, Maven世界拥
9、有大量构建,我们需要找一个用来唯一标识一个构建的统一规范拥有了统一规范,就可以把查找工作交给机器l groupId:定义当前Maven项目隶属项目 (实际对应JAVA的包的结构, 是main目录里java的目录结构)l artifactId:定义实际项目中的一个模块(项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称)l version:定义当前项目的当前版本1.3.3. Maven仓库l 何为Maven仓库:用来统一存储所有Maven共享构建的位置就是仓库l Maven配置jar包的路径为:groupId/artifactId/version/artifactId-versionl
10、 本地仓库(/.m2/repository/):每个用户只有一个本地仓库l 中央仓库(Maven默认的远程仓库):Maven默认的远程仓库下载地址为:http:/repo1.maven.org/maven2l 私服:是一种特殊的远程仓库, 它是架设在局域网内的仓库, 主要是为了团队协作开发l 镜像:用来替代中央仓库, 速度一般比中央仓库快1.3.4. 生命周期1.4. 第二个Maven演示1.4.1. HelloFriend目录结构HelloFriend -src -main -java -resources -test -java -resources -pom.xml1.4.2. 建立Po
11、m.xml4.0.0cn.itcast.mavenHelloFriend1.0.0jarjunitjunit4.9testcn.itcast.mavenHello1.0.0compile1.4.3. 创建Java类与测试类l 在src/main/java/cn/itcast/maven目录下新建文件HelloFriend.javapackage cn.itcast.maven;public class HelloFriendpublic String sayHello(String name)return Hello +name+!;l 在/src/test/java/cn/itcast/ma
12、ven目录下新建测试文件HelloFriendTest.javapackage cn.itcast.maven;import org.junit.Test;import cn.itcast.maven.Hello;public class HelloFriendTest Testpublic void tesHelloFriend()HelloFriend helloFriend = new HelloFriend();String results = helloFriend.sayHelloToFriend(litingwei);System.out.println(results);1.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Maven3 学习 文档
限制150内