




已阅读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年心理健康服务市场的品牌影响力评估
- 2025年事业单位工勤技能-浙江-浙江殡葬服务工二级(技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江西-江西水工监测工三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏水生产处理工三级(高级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-江苏-江苏医技工三级(高级工)历年参考题库含答案解析(5套)
- 焊工安全知识培训教材课件
- 2025年事业单位工勤技能-广东-广东经济岗位工五级(初级工)历年参考题库含答案解析
- 焊工基础知识培训
- 2025年事业单位工勤技能-广东-广东工程测量工三级(高级工)历年参考题库典型考点含答案解析
- 2020-2025年二级造价工程师之土建建设工程计量与计价实务高分通关题型题库附解析答案
- 全业务竞争挑战浙江公司社会渠道管理经验汇报
- 护理副高职称答辩5分钟简述范文
- 幼小衔接资料合集汇总
- GB/T 42195-2022老年人能力评估规范
- GB/T 4909.4-2009裸电线试验方法第4部分:扭转试验
- GB/T 15155-1994滤波器用压电陶瓷材料通用技术条件
- 复变函数与积分变换全套课件
- 做一名优秀教师课件
- 企业标准编写模板
- 商场开荒保洁计划书
- DBJ 53-T-46-2012 云南省城镇道路及夜景照明工程施工验收规程
评论
0/150
提交评论