1. help插件 P14
该插件可以告诉我们maven使用的模型,以及某个插件有哪些可用的目标。如打印实际的pom文件、settings内容等。P14
常用的目标及描述如下:
help:active-profiles
Description: Displays a list of the profiles which are currently active for this build.
help:effective-pom
Description: Displays the effective POM as an XML for this build, with the active profiles factored in.
help:effective-settings
Description: Displays the calculated settings as XML for this project,given any profile enhancement and the inheritance of the global settings into the user-level settings.
help:describe
Description: Displays a list of the attributes for a Maven Plugin and/or goals (aka Mojo - Maven plain Old Java Object).
如想查看maven-bundle-plugin插件的目标列表:mvn help:describe -Dplugin=bundle
如想查看maven-bundle-plugin插件带有参数的详细的目标列表:mvn help:describe -Dplugin=bundle –Dfull
如想查看maven-bundle-plugin插件的install目标的详细信息:mvn help:describe -Dplugin=bundle -Dmojo=install –Dfull
2. 创建一个简单的maven项目 P20
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook
编译、测试、打包并安装(在命令行,进入simple目录,然后运行以下命令)mvn install
在target目录中会生成一个jar包:simple-1.0-SNAPSHOT.jar,该jar包的名字是由artifactId+“-”+version构成,如果在pom.xml文件中添加如下配置,则可以生成自定义的文件名:<build>
<finalName>simple-webapp</finalName>
</build>
这样在target目录中会生成一个名叫simple-webapp的jar包:simple-webapp.jar,在命令行运行程序(cp参数用来指定classpath):java -cp target/simple-1.0-SNAPSHOT.jar org.sonatype.mavenbook.App
3. POM:Project Object Model,项目对象模型
pom文件最开始的<groupId>、<artifactId>、<packaging>、<version>四个元素唯一的标识了一个项目,是项目的坐标。P24
4. 不要混淆
mvn archetype:create 这叫执行了一个maven插件的目标(goal)
mvn install 这叫执行了一个maven的生命周期阶段
5. provided范围
当为项目创建JAR文件的时候,它的依赖不会被捆绑在生成的构件中,他们只是用来编译。当用Maven来创建WAR或者EAR,可以配置Maven让它在生成的构件中捆绑依赖,也可以配置Maven,使用provided范围,让它排除WAR文件中特定的依赖。provided范围告诉Maven一个依赖在编译的时候需要,但是它不应该被捆绑在构建的输出中。当开发web应用的时候provided范围变得十分有用,需要通过Servlet API来编译代码,但是不希望Servlet API的JAR文件包含在web应用的WEB-INF/lib目录中。
6. exec插件P53
This plugin has 3 goals:
exec:exec
Description: A Plugin for executing external programs.
Deprecated. No reason given
exec:help
Description: Display help information on exec-maven-plugin. Call
mvn exec:help -Ddetail=true -Dgoal=<goal-name>
to display parameter details.
Deprecated. No reason given
exec:java
Description: Executes the supplied java class in the current VM with the
enclosing project's dependencies as classpath.
Deprecated. No reason given
例如执行某个java程序:mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main
7. 打印出项目的依赖树P53
X:\simple-weather>mvn dependency:tree
X:\simple-weather >set MAVEN_OPTS= -Xms128m -Xmx512m
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'dependency'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Chapter 4 Simple Weather Project
[INFO] task-segment: [dependency:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree]
[INFO] org.sonatype.mavenbook.ch04:simple-weather:jar:1.0
[INFO] +- log4j:log4j:jar:1.2.14:compile
[INFO] +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] +- jaxen:jaxen:jar:1.1.1:compile
[INFO] | +- jdom:jdom:jar:1.0:compile
[INFO] | +- xerces:xercesImpl:jar:2.6.2:compile
[INFO] | \- xom:xom:jar:1.0:compile
[INFO] | +- xerces:xmlParserAPIs:jar:2.6.2:compile
[INFO] | +- xalan:xalan:jar:2.6.0:compile
[INFO] | \- com.ibm.icu:icu4j:jar:2.6.1:compile
[INFO] +- velocity:velocity:jar:1.5:compile
[INFO] | +- commons-collections:commons-collections:jar:3.1:compile
[INFO] | +- commons-lang:commons-lang:jar:2.1:compile
[INFO] | \- oro:oro:jar:2.0.8:compile
[INFO] +- org.apache.commons:commons-io:jar:1.3.2:test
[INFO] \- junit:junit:jar:3.8.1:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7 seconds
[INFO] Finished at: Tue Aug 25 15:20:11 CST 2009
[INFO] Final Memory: 12M/127M
[INFO] ------------------------------------------------------------------------
分享到:
相关推荐
Maven权威指南中文版 Maven是一种基于项目对象模型(POM)的项目管理和构建工具,旨在提供一种通用的、跨语言的、跨平台的项目管理方式。 Maven的主要特点是约定优于配置(Convention Over Configuration),它提供...
通过阅读《PDF文档 Maven权威指南_中文完整版清晰》,读者将能全面掌握Maven的使用技巧,从而提升项目开发的效率和质量。无论是初学者还是经验丰富的开发者,都能从中受益匪浅,实现项目构建的标准化和自动化。
通过阅读"Maven权威指南",开发者不仅可以掌握Maven的基本用法,还能深入了解其设计理念,从而更好地利用Maven提升项目开发的效率和质量。对于初学者来说,这本书是理解Maven和Java构建世界的宝贵资源;对于经验丰富...
Maven是一种构建工具,一种项目管理工具...所有的作者,以及本书后面的公司,Sonatype1,相信本书的出版标志着围绕Maven变革和开发,以及其周围软件生态系统的一个新的阶段的开始。 2008年9月1日英文版 2009年7月中文版
**Maven权威指南** 《Maven权威指南》是Java开发者...通过阅读《Maven权威指南》,开发者不仅能掌握Maven的基本使用,还能深入理解其背后的原理和最佳实践,从而在实际项目中发挥出Maven的最大价值,提升开发效率。
《Maven权威指南中文完整版清晰》是一本深入解析Maven构建工具的教程,它为Java开发者提供了详尽的指导,帮助他们理解和掌握Maven的使用。Maven是Apache软件基金会开发的一个项目管理工具,主要用于Java项目的构建、...
《Maven权威指南最全讲授》是一本专为Java开发者设计的书籍,旨在帮助读者全面理解和掌握Maven这一强大的项目管理和构建工具。Maven不仅简化了项目的构建过程,还通过约定优于配置的原则,让开发环境的设置变得标准...
### Maven权威指南中文版知识点概览 #### 一、引言与Maven概念 - **Maven概述**:Maven是一种项目管理和理解工具,旨在通过一套标准流程来简化项目的构建过程。 - **约定优于配置(Convention Over Configuration)...
maven 权威指南(中文版) 。
maven权威指南中文版,
《Maven权威指南开发实例代码》是一本深入探讨Maven构建工具的实践性书籍,它提供了丰富的示例代码,帮助开发者全面理解并掌握Maven的使用。Maven是Apache软件基金会开发的一款项目管理和综合工具,它主要负责管理...
通过深入阅读和实践"Maven权威指南中文版",无论是初学者还是经验丰富的开发者,都能对Maven有更深入的理解,提升项目管理和构建效率。记得在学习过程中,结合实际项目实践,将理论知识转化为实际技能,这将极大地...
**Maven权威指南中文版及相关实例** Maven是一款强大的Java项目管理工具,它极大地简化了构建、管理和依赖管理过程。本书《Maven权威指南中文版》深入浅出地介绍了Maven的核心概念、配置以及实际应用,是Java开发者...
《Maven权威指南_中文完整版清晰》是一本详尽阐述Maven的书籍,它为Java开发者提供了构建项目、管理依赖以及自动化构建流程的全面指导。Maven是Apache软件基金会开发的一款项目管理和综合工具,它极大地简化了Java...
### Maven权威指南知识点总结 #### 一、Maven概述 **1.1 Maven定义与功能** Maven是一款项目管理和理解工具。它通过一系列标准集合、项目生命周期、依赖管理系统以及插件系统来支持项目的构建和管理。 **1.2 ...