《Maven实战》笔记-1-Maven使用入门
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Maven实战》笔记-1-Maven使⽤⼊门
《Maven实战》徐晓斌 2011 机械⼯业出版社
⼀、介绍
1、名词
artifact:插件
极限编程XP
2、构建脚本:
maven——pom.xml(Project Object Model)
ant——build.xml
其基本结构是⽬标(target)、依赖(depends),以及实现⽬标的任务。
3、maven vs ant
Ant是过程式的,开发者显⽰指定每⼀个⽬标,以及完成该⽬标所需要执⾏的任务。
Maven是声明式的,项⽬构建过程和过程各个阶段所需的⼯作都由插件实现。
4、相关知识
Spring——实现IoC;
Hibernate——实现封装JDBC;
Eclipse安装⽬录eclipse.ini⽂件,添加vm配置指向jdk:
1. --launcher.SSMaxPermSize
2. 256m
3. -vm
4. D:\java\jdk1.7\bin\javaw.exe
5. -vmargs
6. -Dosgi.requiredJavaVersion=1.5
7. -Xms128m
8. -Xmx256m
m2eclipse——Eclipse下的Maven插件。
⼆、Maven使⽤⼊门
——以Hello World为例
1、mvn help:system——打印所有的Java系统属性和环境变量。
推荐⽤户复制M2_HOME/conf/settings.xml⽂件到~/.m2/settings.xml,在⽤户范围内修改Maven配置,⽽不是在全局范围修改。
Maven的核⼼是pom.xml,⼀个HelloWord项⽬的pom.xml:
参数解释:
modelVersion——POM模型的版本,对于Maven2以及Maven3来说,它只能是4.0.0
核⼼三元素——groupId、artifactId、version,定义了⼀个项⽬基本的坐标;在Maven的世界,任何的jar、pom或者war都是基于这些基本的坐标进⾏区分。
groupId:定义⾥项⽬属于哪个组,这个组往往和项⽬所在的组织或公司存在关联;
artifactId:定义了当前Maven项⽬在组中的唯⼀ID;
version:指定Hello World项⽬当前的版本,1.0-SNAPSHOT说明快照版本,处于开发中,不是稳定版本。
name:不是必须的,可⽤于声明⼀个友好的项⽬名称。
2、编写主代码
主代码:被打包到最终的构件,如jar中,默认位于src/main/java⽬录;
测试代码:只运⾏测试时⽤到,不会被打包,默认位于src/test/java⽬录;
使⽤Maven编译:
在项⽬根⽬录下,运⾏命令
mvn clean compile
clean:清理输出⽬录target/
compile:编译项⽬主代码
以上命令执⾏顺序:
clean:clean->resources:resources->compiler:compile
3、编写测试代码
添加junit测试依赖:
注:scope为依赖范围,test值表⽰只对测试有效,默认为compile,则表⽰对主代码和测试代码都有效。
测试代码:
典型单元测试的三个步骤:
(1)准备测试类及测试数据;
(2)执⾏要测试的⾏为;
(3)检查结果。
JUnit3中,约定所有需要执⾏测试的⽅法都以test开头
JUnit4中,需要执⾏的测试⽅法都应该以@Test进⾏标注
使⽤Maven执⾏测试:
运⾏mvn clean test
注意,以上命令实际执⾏了以下的任务:
clean:clean resources:resources compiler:compile resources:testResources compiler:testCompile.
详见maven⽣命周期。
以上命令可能提⽰java版本不够,compiler插件默认java1.3,需要做以下修改:
4、打包和运⾏
Pom默认打包类型为jar,执⾏命令进⾏打包:
mvn clean package
输出也位于target/输出⽬录中。
若让其他项⽬引⽤该jar,需要执⾏安装步骤,,将项⽬输出的jar安装到Maven本地仓库中:
mvn clean install
注意:执⾏test前会先执⾏compile,执⾏package前会先执⾏test,执⾏install前会执⾏package。
默认⽣成的jar是不能够执⾏运⾏的,因为main⽅法的类信息不回添加到manifest中。
为了⽣成可执⾏的jar⽂件,需要借助maven-shade-plugin,配置插件如下:
5、使⽤Archetype⽣成项⽬⾻架
Mav项⽬中基本的⽬录结构和pom.xml⽂件内容成为项⽬的⾻架。
Maven提供了Archetype快速⽣成项⽬⾻架。
Maven3中,运⾏以下命令:
mvn archetype:generate
接着根据提⽰输⼊项⽬groupId artifactId version package包名等。