Maven [培训人员注意事项: 有关自定义此模板的详细帮助,请查看最后一张幻灯片。另外,可以在一些幻灯片的备注窗格中查找其他课程文本。 由于此演示文稿包含 Macromedia Flash 动画,保存模板时可能会显示一条与个人信息有关的警告消息,此时,请单击消息中 的“确定”。除非您向 Flash 文件本身的属性添加了信息,否则此警告不适用于此演示文稿。] ‹#› 1
Maven简介 Maven仓库 Maven的安装和配置 Maven的使用 快速熟悉 快速熟悉
Maven简介 快速熟悉
Maven简介 何为Maven Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、依赖管理和项目信息管理。 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
Maven简介 Maven是优秀的构建工具 自动化构建过程,从清理、编译、测试到生 成报告,再到打包和部署。 是跨平台的,无论是Windows上,还是 Linux或Mac上,都使用相同命令。 能够帮助我们标准化构建过程。 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
Maven简介 Maven不仅仅是构建工具 依赖管理工具:提供中央仓库,自动下载构 件。通过一组坐标,能够找到任何一个java 类库。 项目信息管理工具:管理原本分散的项目信 息,包括项目描述、版本控制系统地址、缺 陷管理系统地址、许可证、开发者列表等。 对项目目录结构、测试用例命名等都有既定 规则。 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
Maven仓库 快速熟悉
Maven仓库 Maven仓库 Maven仓库就是放置所有JAR文件(WAR,ZIP,POM等等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需要的依赖JAR。 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
Maven仓库 Maven仓库分类 Maven仓库 本地仓库 远程仓库 中央仓库 私服 其他公共库 快速熟悉 快速熟悉 该最常用的命令集占据功能区的第一层或选项卡,称为“开始”选项卡。这些命令显示为按钮、文本框和菜单,它们支持常见的任务,包括复制和粘贴、添加幻灯片、更改幻灯片版式、设置文本格式和定位文本以及查找和替换文本。 功能区上还有其他选项卡。每个选项卡专门针对创建演示文稿时需要执行的一种工作类型。各选项卡上的按钮按逻辑组排列。每个组中最常见的按钮是最大的按钮。客户需要的、但在早期版本中没看到的较新的命令现在也非常直观。 动画能够让您了解所有选项卡的外观。 [培训人员注意事项:要在观看幻灯片放映时播放动画,请右键单击动画,然后单击“播放”。该文件播放完一次后,您可能需要单击“快退”(右键单击之后),然后才能单击“播放”。如果您单击幻灯片以使文本进入或前进到下一张幻灯片,但什么也没有发生,请在动画外单击。有时候您需要单击两次。如果在观看动画时出现问题,请参阅本演示文稿最后一张幻灯片中关于播放 Macromedia Flash 动画的说明。之后如果在观看动画时仍出现问题,则表明跟在这张幻灯片后的幻灯片是带有静态剪贴画的重复幻灯片。请删除当前幻灯片或下一张幻灯片,然后再放映演示文稿。] 中央仓库 私服 其他公共库 快速熟悉 快速熟悉 ‹#› 7
http://search. maven.org 查询中央仓库地址 http://search. maven.org 中央仓库:包含了世界上大多 数流行的开源Java构件。 http://repo1.maven.org/maven2 / 该最常用的命令集占据功能区的第一层或选项卡,称为“开始”选项卡。这些命令显示为按钮、文本框和菜单,它们支持常见的任务,包括复制和粘贴、添加幻灯片、更改幻灯片版式、设置文本格式和定位文本以及查找和替换文本。 功能区上还有其他选项卡。每个选项卡专门针对创建演示文稿时需要执行的一种工作类型。各选项卡上的按钮按逻辑组排列。每个组中最常见的按钮是最大的按钮。客户需要的、但在早期版本中没看到的较新的命令现在也非常直观。 [培训人员注意事项:此张幻灯片与上一张幻灯片几乎完全相同,不同之处在于它显示的是静态剪贴画而不是动画。如果在观看动画时出现问题,请使用此幻灯片。请删除当前幻灯片或上一张幻灯片,然后再显示演示文稿。] 快速熟悉 快速熟悉 ‹#› 8
Maven仓库——私服 私服地址 http://10.10.8.201:808 1/nexus/index.html 。 “插入”选项卡:您可能希望放在幻灯片上的所有内容(表格、图片、关系图、图表、文本框、声音、超链接、页眉和页脚)。 “设计”选项卡:为幻灯片选择包括背景设计、字体和配色方案的完整外观,然后自定义该外观。 “动画”选项卡:所有动画效果都在此处。可以非常轻松地为列表或图表添加基本动画。 “幻灯片放映”选项卡:选择笔颜色或要开始的某个幻灯片。录制旁白,进行试放映,然后进行其他准备任务。 “审阅”选项卡:在此处可找到拼写检查器和信息检索服务。让您的团队使用动画来审阅演示文稿,然后审阅批注。 “视图”选项卡:快速切换到“备注页”视图,打开网格线,或者在窗口中排列所有打开的演示文稿。 在需要时显示所需选项卡:您还会注意到在您工作时,功能区上会显示和隐藏独特的彩色选项卡。这些选项卡包含项目(例如,图片和图形)的特殊格式设置工具。有关这些工具的详细信息将在以后介绍。 [培训人员注意事项:要在观看幻灯片放映时播放动画,请右键单击动画,然后单击“播放”。该文件播放完一次后,您可能需要单击“快退”(右键单击之后),然后才能单击“播放”。如果您单击幻灯片以使文本进入或前进到下一张幻灯片,但什么也没有发生,请在动画外单击。有时您需要单击两次。如果在观看动画时出现问题,请参阅本演示文稿最后一张幻灯片中关于播放 Macromedia Flash 动画的说明。之后如果在观看动画时仍出现问题,则表明跟在这张幻灯片后的幻灯片是带有静态剪贴画的重复幻灯片。请删除当前幻灯片或下一张幻灯片,然后再放映演示文稿。] 快速熟悉 快速熟悉 ‹#› 9
Maven安装和配置 快速熟悉
安装——环境准备 1.从http://maven.apache.org/download.html下载最 新的maven,解压到指定目录。 2.配置环境变量(D:\maven\bin) 快速熟悉 快速熟悉
安装——环境准备 3.控制台中执行mvn –v测试是否配置成功 4.复制M2_HOME/conf/下的settings.xml文件到 ~/.m2/settings.xml 5.配置settings.xml 快速熟悉 快速熟悉
安装——环境准备 6. 安装m2eclipse插件 http://m2eclipse.sonatype.org/sites/m2e 重启eclipse后使用,查看Maven参数设置可能提示类似提示,需 要配置eclipse.ini,添加vm指向JDK -vm C:/Program Files/Java/jdk1.6.0_20/bin/javaw.exe 快速熟悉 快速熟悉
安装——环境准备 7. 安装m2eclipse插件扩展 http://m2eclipse.sonatype.org/sites/m2e-extras 安装 Maven Integration for Eclipse Maven Integration for WTP Maven SCM handler for Subclipse 要求已安装svn插件 快速熟悉 快速熟悉
安装——环境准备 8.添加需要使用的Maven位置 快速熟悉 快速熟悉
安装——环境准备 9.设置用户settings.xml文件 快速熟悉 快速熟悉
Maven使用 快速熟悉
Maven使用 1.新建一个Maven支持的web项目,选择maven-archetype- webbapp模板。 快速熟悉 快速熟悉 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
Maven使用 快速熟悉 快速熟悉 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 ‹#› 3
Maven使用 2.检查项目的编码是否是utf-8,检查项目使用的jdk版本。 3.修改项目基本信息。 4.配置项目的自定义属性及项目依赖。 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
Maven使用 项目基本信息 modelVersion:当前POM模型版本,对于Maven3必须为4.0.0。 groupId:定义当前项目隶属的实际项目。 artifact:定义实际项目中的一个Maven项目(模块)。 version:定义Maven项目当前所处版本。 packaging:定义Maven项目打包方式。默认为jar。 classifier:定义构建输出的一些附属构件。生成javadoc等。由插件自动生成,不能直接定义。 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 坐标:groupId:artifact:version:packaging 构件名称:artifact-version[-classifier].packaging 快速熟悉 快速熟悉 ‹#› 3
Maven使用 依赖范围 compile(编译范围) compile是默认的范围,会被打包。 provided(已提供范围) provided依赖只有在当JDK或者一个容器已提供该依赖之后才使用。它们不是传递性的,也不会被打包。 runtime(运行时范围) runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。 test(测试范围)只有在测试编译和测试运行阶段可用。 system(系统范围)必须显式的提供一个对于本地系统中JAR文件的路径。注意该范围是不推荐使用。 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
Maven使用 5.配置插件。 快速熟悉 快速熟悉 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
Maven使用 6.配置项目的发布地址。 快速熟悉 快速熟悉 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
Maven使用 7.进行项目测试、打包。 命令:mvn clean deploy 8.发布版本。 命令: mvn release:prepare 准备发布 mvn release:rollback 回退release:prepare操作 mvn release:perform 执行版本发布 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
Maven使用 Maven常用命令 mvn archetype:generate :创建 Maven 项目 mvn compile :编译源代码 mvn test-compile :编译测试代码 mvn test : 运行应用程序中的单元测试 mvn site : 生成项目相关信息的网站 mvn clean :清除目标目录中的生成结果 mvn package : 依据项目生成 jar 文件 mvn install :在本地 Repository 中安装 jar mvn deploy:将jar包发布到远程仓库 mvn eclipse:eclipse :生成 Eclipse 项目文件 注意:新的 PowerPoint® 也有新文件格式。此演示文稿还提供了解该格式所需的全部信息。 快速熟悉 快速熟悉 ‹#› 3
maven权威指南 http://www.sonatype.com/books/maven-book/reference_zh/public-book.html
maven是什么?
maven与ant的区别
maven下载及配置 maven 下载:http://maven.apache.org/download.html mvn -version
Maven 常用命令 编译 mvn compile 打包 mvn package 测试 mvn test 部署(本地) mvn install 部署(远程) mvn deploy 生成site mvn site 清除 mvn clean
简单例子 创建:mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 运行:java -cp target/simple-1.0-SNAPSHOT.jar org.sonatype.mavenbook.App
Maven项目目录结构 这个是maven的标准配置,四个都是源文件,一个都不能少,第一个是java的类文件,第二个是配置文件,第三个是测试的类文件,第四个是测试的配置文件,下面是编译后的生成,target是maven安装后生成的项目的存放地址,clean后就可以清空了
项目对象模型 (Project Object Model) mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 它的值为org.sonatype.mavenbook。如果我们忽略了packageName参数,那么包名的默认值为org.sonatype.mavenbook.ch03 archetype 是一个内建插件,他的create任务将建立项目骨架 archetypeArtifactId 项目骨架的类型 groupId 项目的java包结构,可修改 artifactId 项目的名称,生成的项目目录也是这个名字,可修改 mvn help:effective-pom
Maven坐标 (Coordinates)
maven生命周期
Eclipse中Maven插件安装 http://www.sonatype.com/books/maven-book/reference_zh/eclipse.html
插件安装后要注意的
eclipse中运行 compile -Dmaven.test.skip=true
一个简单的web应用 mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch05 -DartifactId=simple-webapp -DpackageName=org.sonatype.mavenbook -DarchetypeArtifactId=maven-archetype-webapp
作为Maven项目导入
增加web功能
选择web目录
部署到服务器
添加jetty插件
新建一个servlet进行测试
http://localhost:8080/servlet/HelloWorld
其它插件资源 http://mojo.codehaus.org/plugins.html
建议使用MyEclipse8.5
启用自带maven插件
关闭自动更新
提高8.5的性能(取消拼写检验)
提高8.5的性能(改变jsp默认打开方式)
提高8.5的性能(取消一些不用的快捷方式)
找到本机安装的maven maven2/conf下面的settings.xml就作为团队共同的配置文件。保证所有的团队成员都拥有相同的配置
默认设置 对于每个成员,都需要特殊的 自定义设置,如用户信息,所以另外一个settings.xml就作为本地配置
settings.xml配置
Mirrors id,name:唯一的标志,用于区别镜像 url:镜像的url mirrorOf:此镜像指向的服务id
svn插件安装
点击完成 安装
不要选择Mylyn一项
检出项目
代码库
选中trunk检出项目
点击Finish下一步
选中javaProject
指定src
实用Maven来管理项目
Web Project指定src/main/webapp
多模块项目
Maven 中央仓库(nexus) nexus官网:http://nexus.sonatype.org/ 下载http://www.sonatype.com/products/downloads
bundle方式安装 解压到任意目录 配置NEXUS_HOME 启动nexus:运行${NEXUS_HOME}\bin\jsw\windows-x86-32路径下的nexus.bat文件 http://127.0.0.1:8081/nexus 此外InstallNexus.bat可以用来将Nexus安装成一个windows服务,其余的脚本则对应了启动,停止,暂停,恢复,卸载Nexus服务。
war方式安装http://nexus.sonatype.org/downloads/ 下载的nexus-webapp-1.6.0.war 重命名为nexus.war 然后复制到D:\apache-tomcat-6.0.18\webapps\nexus.war 然后启动tomcat http://127.0.0.1:8081/nexus
http://192.0.0.152:8081/nexus 登陆admin/admin123
http://maven. apache. org/archetype/archetype-common/archetype-catalog http://maven.apache.org/archetype/archetype-common/archetype-catalog.html http://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-catalog.html
通过maven自定义archetype pom.xml配置 <distributionManagement> <!-- use the following if you're not using a snapshot version. --> <repository> <id>nexus-releases</id> <name>public</name> <url>http://localhost:8081/nexus/content/groups/public/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Snapshots</name> <url>http://localhost:8081/nexus/content/repositories/snapshots/public-snapshots/</url> </snapshotRepository> </distributionManagement> settings.xml配置 <server> <username>admin</username> <password>admin123</password> </server>
配置archetype插件
mvn archetype:create-from-project 参考:http://maven.apache.org/archetype/maven-archetype-plugin/advanced-usage.html
mvn install(本地安装) mvn install
mvn deploy mvn deploy
定义相关资源(\META-INF\maven\archetype-metadata.xml)
在maven库中加入自定义开发的jar或者非maven官方库中的开源jar的方法 2、在环境变量中设置M2_HOME环境变量 3、在命令提示符中运行以下命令: 4、执行完毕后,自定义的JAR就会加入到maven本地库中。
mvn install:install-file -DgroupId=com.yeepay.common -DartifactId=entity -Dversion=3.0 -Dfile=E:\jboss-4.0.3SP1\server\default\deploy\individualservice.war\WEB-INF\lib\CommonEntity-v2.0-lib.jar -Dpackaging=jar -DgeneratePom=true mvn install:install-file -DgroupId=com.yeepay.common -DartifactId=entity -Dversion=3.0 -Dfile=E:\jboss-4.0.3SP1\server\default\deploy\individualservice.war\WEB-INF\lib\CommonEntity-v2.0-lib.jar -Dpackaging=jar -DgeneratePom=true
课堂实验 用maven管理方式新建一个Spring mvc工程。 (可参照 http://www. fengfly mvn install:install-file -DgroupId=com.yeepay.common -DartifactId=entity -Dversion=3.0 -Dfile=E:\jboss-4.0.3SP1\server\default\deploy\individualservice.war\WEB-INF\lib\CommonEntity-v2.0-lib.jar -Dpackaging=jar -DgeneratePom=true