maven(一)关于maven的安装:http://blog.csdn.net/java2000_wl/article/details/7723381先了解下maven插件
maven(一)
关于maven的安装:http://blog.csdn.net/java2000_wl/article/details/7723381
先了解下maven插件
1 描述一个maven插件,当你想知道这个插件是如何工作时
mvn help:describe ([-Dplugin=插件名])/( [-DgroupId=groupid] [-DartifactId=artifactId]) [-Dfull] [-Dmojo=具体的目标]
-Dfull 查看具体信息
-Dmojo 具体Dmojo参数 指定目标
如:
mvn help:describe -Dplugin=help -Dfull和mvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-jar-plugin mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull
插件列表
简单介绍下几个插件
exec 插件
mvn help:describe -Dplugin=exec -Dfull ;Exec 插件允许你运行 Java 类和其它脚本
Maven Dependency 插件
mvn dependency:resolve ;来打印出已解决依赖的列表
mvn dependency:tree ;项目的依赖树
maven install 插件
项目构建
-x 打开调试
http://www.infoq.com/cn/news/2011/04/xxb-maven-7-plugin?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_news_clk
http://www.infoq.com/cn/news/2011/05/xxb-maven-8-plugin
2 创建一个简单项目
mvn archetype:create [-DgroupId=groupid] [-DartifactId=artifactId] [-DpackageName=基础包名] [-DarchetypeArtifactId=快速原型类型]DarchetypeArtifactId默认为:maven-archetype-quickstart groupId,artifactId, packaging, version——是Maven的坐标groupId
d 团体,公司,小组,组织,项目,或者其它团体。团体标识的约定是,它以创
建这个项目的组织名称的逆向域名(reverse domain name)开头。来自Sonatype
的项目有一个以com.sonatype开头的groupId,而Apache Software的项目有以
org.apache开头的groupId。
artifactId
在groupId下的表示一个单独项目的唯一标识符
version
一个项目的特定版本。发布的项目有一个固定的版本标识来指向该项目的某一个
特定的版本。而正在开发中的项目可以用一个特殊的标识,这种标识给版本加上
一个“SNAPSHOT”的标记。(SNAPSHOT:开发版,bate:测站版,release:发行版)
packaging
项目的类型,默认是jar,描述了项目打包后的输出。类型为jar的项目产生一个
JAR文件,类型为war的项目产生一个web应用。
对应地址
/<groupId>/<artifactId>/<version>/<artifactId>-<version>.<packaging>
maven坐标实例:
DarchetypeArtifactId 原型选择
mvn archetype:generate 基于原型的快速创建 向导模式
http://maven.apache.org/archetype/maven-archetype-plugin/usage.html 快速原型项目构建
http://maven.apache.org/archetype/maven-archetype-plugin/advanced-usage.html 创建原型
如 mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook
在当前的目录中建立一个简单的maven项目 如在执行C:>mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook
3 构建一个项目
maven install
测试:执行jar 下面具体的class文件
java -cp [jar地址] [完全类名]
pom [project object model] 项目对象模型
maven install -x 打开调试标记
4 maven生命周期
插件目标可以附着在生命周期阶段上。随着Maven沿着生命周期的阶段移动,它会执
行附着在特定阶段上的目标。一直到你执行的那个特定阶段为止。
resources:resources
Resources插件的resources目标绑定到了resources 阶段。这个目标复制src/
main/resources下的所有资源和其它任何配置的资源目录,到输出目录。
compiler:compile
Compiler插件的compile目标绑定到了compile 阶段。这个目标编译src/main/
java下的所有源代码和其他任何配置的资源目录,到输出目录。
resources:testResources
Resources插件的testResources目标绑定到了test-resources 阶段。这个目标复
制src/test/resources下的所有资源和其它任何的配置的测试资源目录,到测试
输出目录。
compiler:testCompile
Compiler插件的testCompile目标绑定到了test-compile 阶段。这个目标编
译src/test/java下的测试用例和其它任何的配置的测试资源目录,到测试输出
目录。
surefire:test
Surefire插件的test目标绑定到了test 阶段。这个目标运行所有的测试并且创
建那些捕捉详细测试结果的输出文件。默认情况下,如果有测试失败,这个目标
会终止。
jar:jar
Jar插件的jar目标绑定到了package 阶段。这个目标把输出目录打包成JAR文
件。
5 站点生成和报告
mvn site
这将会运行site生命周期阶段。它不像默认生命周期那样,管理代码生成,操作资源,
编译,打包等等。Site生命周期只关心处理在src/site目录下的site内容,还有生成
报告。在这个命令运行过之后,你将会在target/site目录下看到一个项目web站点。载
入target/site/index.html你会看到项目站点的基本外貌。
6 构建一个web项目
编写POM(project object model)文件
参见
http://maven.apache.org/pom.html
Scope
provided 编译依赖 打包jar不依赖 如serveltAPI
test 测试依赖
compile jar
7 打包技巧
http://www.infoq.com/cn/news/2011/06/xxb-maven-9-package?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_news_clk
mvn install assembly:assembly 装配