Maven3应用与实战

上传人:灯火****19 文档编号:139513756 上传时间:2020-07-22 格式:PPT 页数:54 大小:1.84MB
返回 下载 相关 举报
Maven3应用与实战_第1页
第1页 / 共54页
Maven3应用与实战_第2页
第2页 / 共54页
Maven3应用与实战_第3页
第3页 / 共54页
Maven3应用与实战_第4页
第4页 / 共54页
Maven3应用与实战_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《Maven3应用与实战》由会员分享,可在线阅读,更多相关《Maven3应用与实战(54页珍藏版)》请在金锄头文库上搜索。

1、Maven3应用,* *,2,主要内容,Maven介绍、安装、常用命令 Eclipse下Maven项目开发 坐标与依赖 多模型开发 常用插件和自动化部署 内部仓库使用 生成站点 Maven高级主题,Maven介绍,Maven是一个项目管理工具,它包含了一项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Manangement System),和用来运行定义在生命周期阶段中插件目标的逻辑。 Maven是面向技术层面,针对Java开发项目管理工具,它提供了构建工具所提供功能的超集,

2、除了构建功能之外,Maven还可以管理项目结构、管理依赖关系、生成报告、生成Web站点、有助于团队成员之间的交流与协作。,指导开发:提供了Java项目的最佳开发实践,自由开发项目骨架而可自动生成项目结构。 自动编译:不仅仅只像Ant自动编译,还包括测试,打包,发布,文档生成,项目站点生成 依赖管理:Maven可以方便地管理应用程序依赖,例如第三方依赖、模型依赖 无限扩展:插件模式可以无限增强Maven功能,例如通过Tomcat、Jetty插件可以自由控制其服务器。 持续集成:鼓励开发者积极提交代码,更早地发现程序错误,在并行开发中稳妥推进。 开发协作:更简单和谐的团队协作,开发者通过Maven

3、管理项目从中受益:,项目生命周期,几个重要的过程: compile:编译 test: 测试 package:打包 install:安装 deploy: 发布,Maven安装,下载安装包 地址:http:/maven.apache.org/download.html 当前版本为3.0.4 Windows系统下安装: 首先需要确认系统中装有JDK(版本1.4+); 将压缩包解压到本地磁盘某目录中,该目录则称为安装目录。 例如 D:opensourceapache-maven-3.0 目录结构: bin Maven的运行脚本 boot Maven自己的类装载器 conf 该目录下包含了全局行为定制文

4、件setting.xml lib Maven运行时所需的类库 .,Maven安装,配置环境变量 M2_HOME=安装目录 在path变量中增加%M2_HOME%bin MAVEN_OPTS=-Xms NNNm Xmx NNNm(非必要项,可防止内存溢出。其中NNN表示具体的内存数量) 检查安装正确性 在命令行提示符下执行: mvn v 能看到Maven和JDK的版本号为安装正确 小试Maven命令 mvn help:system 该命令将会下载help插件并运行它,且打印出Java系统属性和环境变量,Maven名词解释,Project:任何您想build的事物,Maven都可以认为它们是工程。

5、这些工程被定义为工程对象模型(POM,Poject Object Model)。一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成。 POM:POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元数据文件,类似于Ant中的build.xml文件。POM文件位于每个工程的根目录中。 GroupId:groupId是一个工程的在全局中唯一的标识符,一般地,它就是工程名。groupId有利于使用一个完全的包名,将一个工程从其它有类似名称的工程里区别出来。 Artifact:artifact 是工程将要产生或需要使用的文件,它可以是jar文件,源文件,二进制文件,war

6、文件,甚至是pom文件。每个artifact都由groupId和 artifactId组合的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库(见Repository)中,否则Maven无法找到 (识别)它们。 Dependency:为了能够build或运行,一个典型的Java工程会依赖其它的包。在Maven中,这些被依赖的包就被称为dependency。dependency一般是其它工程的artifact。 Plug-in:Maven是由插件组织的,它的每一个功能都是由插件提供的。插件提供goal(类似于Ant中的target),并根据在POM中找到的元数据去完成工作。主要的M

7、aven插件要是由Java写成的,但它也支持用Beanshell或Ant脚本写成的插件。 Repository:仓库。,setting.xml,$user.home/.m2/repository/setting.xml 为用户范围的配置文件 $M2_HOME/conf/setting.xml 为全局范围的配置文件,修改后将影响本机所有用户的配置 建议:只修改用户级别的配置,既不影响其它用户,也不影响后期升级。 配置介绍 localRepository: 自定义本地库路径,默认在$user.home/.m2中 interactiveMode: offline:是否每次编译都去查找远程中心库 pl

8、uginGroups:插件组,例如org.mortbay.jetty proxies:通过代理访问外部库 servers:集成认证服务,例如集成Tomcat mirrors:镜像库,可以指定内部中心库 profiles:个性配置,需要在Activation标签中激活 activeProfiles:表示激活的profile,Maven仓库,远程公用仓库 Maven内置了远程公用仓库:http:/repo1.maven.org/maven2 这个公共仓库是由Maven自己维护,里面有大量的常用类库,并包含了世界上大部分流行的开源项目构件。目前是以java为主。 内部中心仓库 也称私有共享仓库(私服

9、)。一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率。 Nexus和Artifactory均可搭建仓库服务器。但后者支持LDAP认证,这样就可以将私有仓库的认证集成到公司已经有的LDAP认证服务器。 内部中心库又可以连接第三方库,例如Jboss中心库、Spring中心库,以随时获得最新版本的第三方构件。 本地仓库 Maven会将工程中依赖的构件(Jar包)从远程下载到本机一个目录下管理,通常默认在$user.home/.m2/repository下。 修改本地库位置:在$M2_HOME/conf/setti

10、ng.xml文件的元素中指定路径,例如:D:/my_repository,12,Maven常用命令,检测Maven、JDK版本 mvn v 或者 mvn -version 获取帮助选项 mvn h 或者 mvn help 显示详细错误信息 mvn e 创建Java项目 mvn archetype:create -DgroupId=$groupId -DartifactId=$artifactId 示例: mvn archetype:create -DgroupId=com.howsun -DartifactId=myApp -Dversion=0.1,13,创建Web项目 mvn archet

11、ype:create -DgroupId=$packageName -DartifactId=$webappName -DarchetypeArtifactId=maven-archetype-webapp 创建其它项目(例如SSH、JPA、JSF、Seam) mvn archetype:generate 然后根据提示选择项目骨架、groupid、artifactid、版本号 Maven3已有上百个项目骨架 转换成Eclipse工程 mvn eclipse:eclipse mvn eclipse:clean /清除Eclipse设置信息 转换成idea项目: mvn idea:idea,Mav

12、en常用命令,14,编译 mvn compile 编译测试代码 mvn test-compile 产生Site: mvn site 测试 mvn test /运行测试 mvn test -Dtest=$类名 /单独运行测试类 清除 mvn clean /将清除原来编译的结果 打包 mvn package mvn package Dmaven.test.skip=true /打包时不执行测试 发布 mvn install /将项目打包成构件安装到本地仓库 mvn deploy /发布到本地仓库或服务器(例如Tomcat、Jboss),Maven常用命令,手动添加构件到仓库 mvn install

13、:install-file -Dfile=$jar包文件位置 -DgroupId=$groupId -DartifactId=$artifactId -Dversion=$版本号 -Dpackaging=jar -DgeneratePom=$是否同时创建pom文件 复制依赖构件到相应目录 mvn dependency:copy-dependencies -DoutputDirectory=$目标目录 -DexcludeScope=$scope -Dsilent=true 示例: mvn dependency:copy-dependencies -DoutputDirectory=WebRoot

14、/WEB-INF/lib -Dsilent=true -DincludeScope=runtime 显示一个插件的详细信息(configuration, goals等): mvn help:describe -Dplugin=pluginName -Ddetail,Maven常用命令,pom.xml,是Maven项目的核心配置文件,位于每个工程的根目录,指示Maven工作的元数据文件。 节点介绍 :文件的根节点 . : pom.xml使用的对象模型版本 . :创建项目的组织或团体的唯一 Id. :项目的唯一 Id, 可视为项目名 . :打包类型,一般有JAR,WAR,EAR 等 :产品的版本号

15、 . :项目的显示名,常用于 Maven 生成的文档。 :组织的站点,常用于 Maven 生成的文档。 :项目描述,常用于 Maven 生成的文档。 :构件依赖:模型继承 :依赖管理 :创建报告 :构建 :引用第三方仓库 :许可,pom.xml, 4.0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . ,连接,POM全景图,Eclipse中使用Maven,为Eclipse提供JDK支持 Eclipse是运行在JRE之上,但Maven需要JDK的一些支持,需要指定JDK,在Eclipse安装目录中的eclipse.ini文件中增

16、加: -vm $%JAVA_HOME%binjavaw.exe 安装M2Eclipse插件 Help - InstallNewSoftware - Work with - Add 核心组件: Name:m2e Location:http:/m2eclipse.sonatype.org/sites/m2e 扩展组件: Name: m2e-extras Location:http:/m2eclipse.sonatype.org/sites/m2e-extras,M2Eclipse扩展组件介绍,Maven SCM handler for Subclipse:该组件能帮助我们直接从Subversion服务器签出Maven项目(须先安装Subclipse) Maven SCM handler for Team/CVS:该组件能帮助我们直接从CVS服务器签出Maven项目 Maven SCM Integra

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 外语文库 > 英语学习

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号