• 1. MAVEN培训(初级) 2012-03-10
  • 2. 什么是Maven 如何使用Maven 一些简单的Maven命令 Maven小贴士 提纲
  • 3. 什么是MavenMaven这个单词来自于意第绪语,意为知识的积累,也可以解释为“行家”,“专家”。 Maven是一款优秀的项目管理工具,它能够根据项目的对象文档(POM-Project Object Model)去管理,发布项目,并能够生成相关文档。 http://maven.apache.org 最新版本是3.0.4
  • 4. 为什么要使用mavenMaven能够帮助我们自动化构建项目过程,从清理,编译,测试到生成报告,再到打包和部署,用户需要做的就是按照maven的要求配置好项目,然后输入简单的命令即可完成以上所有繁琐的任务。 Maven有一套非常成熟的机制帮助我们管理jar包的依赖,并且maven本身就有一个开源的java类库,这个类库被称为中央仓库:http://search.maven.org/,其涵盖了几乎所有的流行开源类库。
  • 5. 如何使用maven下载Maven程序包,解压到相应目录。 配置环境变量 打开命令行,输入mvn –v,如果能够显示Maven版本信息则表示安装成功。 Maven也有针对eclipse等IDE的插件支持,便于在IDE里面集成调试。
  • 6. Maven 配置环境变量
  • 7. Maven 安装成功
  • 8. Maven安装目录 bin:包含了Maven运行的脚本 boot:该目录只包含一个文件plexus-classworlds-2.2.3.jar,这是一个类加载器框架,Maven用该框架加载自己的类库。 conf:Maven的全局配置文件settings.xml lib: Maven运行时所需要的java类库
  • 9. Settings.xml文件作为团队共同的配置文件,保证所有的团队成员都拥有相同的配置 根节点 设置代理,作为全局访问Maven仓库的设置 服务器镜像,一般可以配置私服,比如Nuxus 1.8.0目前最新版本2.0.1 http://192.168.0.249:8081/nexus/index.html
  • 10. Pom.xml文件简介Maven通过pom.xml文件来管理项目 pom.xml基本上包含了和项目相关的任何要素 pom的根元素 ,,,唯一的标识项目或者构件在Maven仓库中的坐标 配置了项目构件的详细信息 配置项目依赖的jar包 配置项目所需的插件(配置在build下) 用户自定义配置
  • 11. 约定优于配置(ConventionOverConfiguration)Maven默认配置了一些项目的基本信息,比如源代码路径,编译目标路径,分发路径,打包格式,只要遵循Maven的约定,就可以最大限度的从低端的重复劳动中解放出来,大大提高开发效率 即使这样,Maven也是可以修改项目任何的配置信息,但这却不是Maven推荐的做法,特别是在团队开发过程中,会造成理解和沟通上的很大的代价
  • 12. 一些简单的Maven命令mvn eclipse:eclipse 在Eclipse等IDE里从SVN库签出源代码后,eclipse可能并不会识别出该项目,该命令就是生成IDE的项目信息文件,这样用户就可以回到熟悉的代码开发界面了 mvn compile 编译项目,但在执行该命令时,Maven会按照自己的生命周期,依次的执行很多的命令,比如刷新项目代码,处理主资源目录,然后复制到项目输出的主classpath目录中等任务
  • 13. 一些简单的Maven命令mvn test 该命令用来执行所有的测试用例 mvn package 该命令是将项目按照事先配置的格式打包,当然Maven在打包之前依然会按照自己的一套生命周期,分别去处理资源文件,编译,运行测试用例等任务 mvn install 该命令将项目安装到Maven的本地仓库 mvn clean 将生成的项目文件资源删除 跳过运行测试用例进行项目打包或者安装mvn install(package) -Dmaven.test.skip=true
  • 14. 一些简单的Maven命令mvn archetype:generate生成项目骨架,由于一个项目有很多的配置,因此该命令在执行过程中,会让用户手动的输入很多参数,如groupId,version等信息 mvn archetype:create -DgroupId=cn.bidlink -DartifactId=demo -DarchetypeArtifactId=maven-archetype-webapp 该命令能生成groupId为cn.bidlink,项目名称为demo的web项目
  • 15. Mavern小贴士RELEASE和SNOPSHOT 在Maven的世界里,任何一个项目或者构件都必须有自己的版本(坐标)。 RELEASE为发布版本(稳定),SNOPSHOT快照版本(不稳定)。 Maven有一个自动更新依赖的机制,可配置更新频率,默认的是每天更新一次。 依赖的更新检索策略在项目或者构件的元数据配置文件里,即maven-metadata.xml
  • 16. Maven小贴士因为有以上的自动更新机制,所以在pom.xml里声明依赖的时候如果没有显式的设置依赖构件的版本号,则会按照更新策略自动更新,若此时更新后的依赖发生了接口变动,则可能会在用户不知情的情况下项目构建失败,因此,最好在声明依赖时能够设置该依赖的版本号。
  • 17. (本页无文本内容)