1 / 11
文档名称:

Maven权威指南学习笔记.docx

格式:docx   大小:111KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Maven权威指南学习笔记.docx

上传人:wz_198613 2018/9/10 文件大小:111 KB

下载得到文件列表

Maven权威指南学习笔记.docx

相关文档

文档介绍

文档介绍:mvn archetype:create -.
-DartifactId=simple
-.
archetype:create称为一个Maven目标(goal)。如果你熟悉Apache Ant,一个Maven目标类似于一个Ant目标(target);它们都描述了将会在构建中完成的工作单元(unit of work)。而像-Dname=value这样的对是将会被传到目标中的参数,它们使用-D属性这样的形式1,类似于你通过命令行向Java虚拟机传递系统属性。archetype:create这个目标的目的通过archetype快速创建一个项目。在这里,一个archetype被定义为“一个原始的模型或者类型,在它之后其它类似的东西与之匹配;
一个原型(prototype)”。
"-D<name>=<value>"这种格式不是Maven定义的,它其实是Java用来设置系统属性的方式,可以通过“java -help”查看Java的解释。Maven的bin目录下的脚本文件仅仅是把属性传入Java而已。
在一个Java项目中,Java类放在src/main/java下面,而classpath资源文件放在src/main/resources下面。测试用例放在src/test下。在这个目录下面,src/test/java存放像使用JUnit或者TestNG这样的Java测试类。目录src/test/resources下存放测试classpath资源文件。一个Maven插件是一个单个或者多个目标的集合。
常常用速记符号:pluginId:goalId。例如,当提到Archetype插件的create目标的时候,我们写成archetype:create。
是默认的Maven生命周期,这个生命周期中一开始的一个阶段是验证项目的基本完整性,最后的一个阶段是把一个项目发布成产品
Maven执行一个阶段的时候,它首先会有序的执行前面的所有阶段,到命令行指定的那个阶段为止。
下面的目标按顺序被执行:
resources:resources
Resources插件的resources目标绑定到了resources 阶段。这个目标复制src/main/resources下的所有资源和其它任何配置的资源目录,到输出目录。
pile
pile 阶段。这个目标编译src/main/java下的所有源代码和其他任何配置的资源目录,到输出目录。
resources:testResources
Resources插件的testResources目标绑定到了test-resources 阶段。这个目标复制src/test/resources下的所有资源和其它任何的配置的测试资源目录,到测试输出目录。
compiler:pile
pile 阶段。这个目标编译src/test/java下的测试用例和其它任何的配置的测试资源目录,到测试输出目录。
surefire:test
Surefire插件的test目标绑定到了test 阶段。这个目标运行所有的测试并且创建那些捕捉详细测试结果的输出文件。默认情况下,如果有测试失败,这个目标会终止。
jar:jar
Jar插件的jar目标绑定到了package 阶段。这个目标把输出目录打包成JAR文件。
可以像下面这样显式的指定一系列插件目标:
mvn resources:pile resources:piler:pile surefire:test jar:jar
项目的坐标:groupId, artifactId, version和packaging。这些组合的标识符拼成了一个项目的坐标
Maven坐标通常用冒号来作为分隔符来书写,像这样的格式:groupId:artifactId:packaging:version
groupId
团体,公司,小组,组织,项目,或者其它团体。团体标识的约定是,它以创建这个项目的组织名称的逆向域名(reverse domain name)开头。
artifactId
在groupId下的表示一个单独项目的唯一标识符。
version
一个项目的特定版本。发布的项目有一个固定的版本标识来指向该项目的某一个特定的版本。而正在开发中的项目可以用一个特殊的标识,这种标识给版本加上一个“SNAPSHOT”的标记。
项目的打包格式也是Maven坐标的重要组成部分,但是它不是项目唯一标识符的一个部分。一个项目的groupId:artifactId:version使之成为一个独一无二的项目;你不能同时有一个拥有同样的groupId, artifactId和version标识的