




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,Maven入门,2,课程目的,了解Maven的基本概念能使用常见的Maven命令,3,大纲,Maven2基础由来安装使用基本概念常用命令一览参考资料,4,Maven由来,BrettPorter,JasonVanZyl,5,简介,Maven2是一个近乎“业界标准”的构建工具源自TurbineAntx借鉴了maven1的很多经验POM,新的项目构建、管理概念Apache上绝大部分的Java项目都用Maven编译,6,Maven是什么?,项目构建工具编译代码管理项目之间的依赖管理二进制库方便扩展过程标准化,7,B2B编译工具沿革,最早,我们用Makefile来build系统Makefile不适合Java的编译后来,我们用Ant来build系统开始时很不错随着项目增多,出现困难利用beanshell控制AntAPI,将常用操作写成plugin,增加中心repository控制即Antx1.0简化了Ant的配置但beanshell-basedplugin很难掌握利用maven1.0中的jelly来控制AntAPI即Antx2.0简化了创建plugin的过程迁移到Maven2,8,Maven安装,前提条件JDK(推荐JDK5)设置JAVA_HOME环境变量从官方网站下载Maven最新版(2.2.1)/download.html解压maven包,设置两个环境变量:M2_HOME和path即可。M2_HOME=c:dev-toolsmaven-2.2.1path=%M2_HOME%bin检查安装结果打开命令行窗口,输入:mvn-version,9,创建Maven项目,先创建一个c:learn-maven目录在此目录下,用mvn命令创建空白项目:mvnarchetype:create-DgroupId=com.alibaba-DartifactId=myproject目录结构如下:myprojectpom.xml-项目描述文件srcmain-java-源代码目录main-test测试代码目录target-编译结果,10,Maven/Antx目录结构比较,Maven2项目,Antx项目,VS,11,创建Maven项目-修改pom.xml,修改项目描述文件:pom.xmlmonsmons.beanutils1.7.0,12,创建Maven项目-build,在learn-maven/myproject目录下,执行:mvninstallINFOjar:jarexecution:default-jarINFOBuildingjar:INFO-INFOBUILDSUCCESSFULINFO-INFOTotaltime:5secondsINFOFinishedat:MonNov3022:34:51CST2009INFOFinalMemory:14M/25MINFO-,13,创建Maven项目-编写单元测试,Maven已经自动为我们创建了一个TestCase类在src/test/java目录下,打开看看吧。,14,创建Maven项目-执行测试,在learn-maven/myproject目录下,执行:mvntest-TESTS-Runningcom.alibaba.AppTestTestsrun:1,Failures:0,Errors:0,Skipped:0,Timeelapsed:0.031secResults:Testsrun:1,Failures:0,Errors:0,Skipped:0,15,项目之间的依赖:创建项目2,切换到learn-maven目录下,创建另一个项目:myproject2mvnarchetype:create-DgroupId=com.alibaba-DartifactId=myproject找到myproject2/src/main下的App.java并删除之修改myproject2/pom.xml,在junit依赖项下面添加对myproject的依赖,com.alibabamyproject1.0-SNAPSHOT,16,项目之间的依赖:创建项目2,MyProject2完整POM如下:,17,项目之间的依赖:创建类,在myproject2/src/main/test目录下找到AppTest.java,修改AppTest.javapackagecom.alibaba;publicclassApp2publicstaticvoidmain(Stringargs)System.out.println(!);System.out.println(Hello+newApp();System.out.println(!);,18,项目之间的依赖:编译并运行,在myproject2目录下执行:mvntest输出结果:,19,Maven基本概念-1,Project任何您想build的事物,Maven都可以认为它们是工程。这些工程被定义为工程对象模型(POM,PojectObjectModel)。一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成POM:POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元数据文件,类似于Ant中的build.xml文件。POM文件位于每个工程的根目录中。,20,Maven基本概念-2,GroupId:groupId是一个工程的在全局中唯一的标识符,一般地,它就是工程名。groupId有利于使用一个完全的包名,将一个工程从其它有类似名称的工程里区别出来。Artifact:artifact是工程将要产生或需要使用的文件,它可以是jar文件,源文件,二进制文件,war文件,甚至是pom文件。每个artifact都由groupId和artifactId组合的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库(见Repository)中,否则Maven无法找到(识别)它们。,21,Maven基本概念-3,Dependency:为了能够build或运行,一个典型的Java工程会依赖其它的包。在Maven中,这些被依赖的包就被称为dependency。dependency一般是其它工程的artifact。Plug-in:Maven提供了强大的插件扩展功能,的每一个功能都是由插件提供的。插件提供goal(类似于Ant中的target),并根据在POM中找到的元数据去完成工作。Maven插件大部分是由Java写成的,但它也支持用Beanshell或Ant脚本写成的插件。,22,Maven基本概念-4,Repository仓库用于存放artifact,它可以是本地仓库,也可以是远程仓库。B2B公共仓库:http:/repo.alibaba-,23,Maven基本概念-5,SNAPSHOT工程中可以(也应该)有一个特殊版本,它的版本号包括SNAPSHOT字样。该版本可以告诉Maven,该工程正处于开发阶段,会经常更新(但还未发布)。当其它工程使用此类型版本的artifact时,Mav
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国氟碳树脂行业市场分析及投资价值评估前景预测报告
- 第1单元流行乐风-《隐形的翅膀》教学设计 人音版初中音乐九年级上册
- 高级水暖工考试题及答案
- 钢琴阅理考试题目及答案
- 19.1人的生殖和发育(第2课时)说课稿-2023-2024学年北师大版生物八年级上册
- 保健知识宣传培训课件
- My school life说课稿小学英语四年级下册牛津译林版
- 实验实训14 疏花、疏果和套袋说课稿-2025-2026学年中职专业课-果树生产技术-农林类-农林牧渔大类
- 2025年乡村振兴战略规划下的人才引进面试模拟题集
- 2025年医学影像学专家应聘面试宝典与模拟题详解
- 铝电解工(铝电解操作工)职业技能考试题(附答案)
- 2024微信小程序技术支持与维护服务合同3篇
- 新闻记者职业资格《新闻采编实务》考试题库(含答案)
- 常用公司员工请假条模板
- 河北美术版小学六年级上册书法练习指导教案
- 高中化学-金属钠的性质及应用教学设计学情分析教材分析课后反思
- 工程量清单及招标控制价编制方案
- 04S519小型排水构筑物(含隔油池)图集
- 工程施工人员安全教育培训【共55张课件】
- 双碱法脱硫操作专项规程
- 人教版七年级上学期英语第一次月考试卷(含答案解析)
评论
0/150
提交评论