`
阅读更多
5分钟熟悉Maven
根据官网文档翻译,其中有些地方翻译的不够好,还望指导。
来自:Http://azhp.blog.163.com
安装
Maven是个Java工具,所以你必须首先安装Java以便进行下一步操作.
首先, 下载 Maven然后按照以下说明进行设置. 然后,在终端或者命令提示符输入以下:
mvn --version
接下来应该会输出你安装的Maven的版本, 比如:
Maven version: 2.0.8
Java version: 1.5.0_12
OS name: "windows 2003" version: "5.2" arch: "x86" Family: "windows"
根据你的网络设置, 你也许想要进行额外的详细设置. 如果需要则根据Maven的设置指导来进行详细设置.
创建一个新工程
在你的命令行,执行以下的Maven目标命令:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
如果你正好已经安装了Maven,那么在第一次运行的时候可能会花费少许时间。这是因为Maven正在下载最近的运行时参考(插件jar包和别的文件)到你的本地资源仓库。在命令成功运行之前你可能需要一段时间。这是因为在你下载完成之前对远程服务器的连接可能会超时。但是别担心,其会通过不同的方法来完成下载。
你将会注意到命令“create goal” 创建了一个与给定的项目命令一样的文件夹。
进入到这个文件夹下面 。
cd my-app
进入这个文件夹后你将会发现一套具有标准结构的项目。
my-app
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- mycompany
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java
这个文件夹 “src/main/java” 包括了项目的源代码,而在这个 “src/test/java”文件夹则包括了测试的代码,以及这个项目的项目对象模型pom.xml, 或简称 POM。
项目对象模型--- POM
Pom.xml这个文件是这个项目中Maven的核心设置。这个设置文件包括了构建该项目时所需要的所有的构建信息。项目对象模型是一个强大的及复杂的模型,但并不是所有的复杂问题都需要深刻的了解。这个项目的项目对象模型—POM如以下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
我刚才做了什么呢?
你执行了Maven的目标命令 archetype:create,并把多种参数传给刚才那个目标命令。命令前缀archetype 是一个插件其中也包括了一项目标命令。如果你对Ant熟悉的话,你可能会熟悉这些任务。这个目标命令会在一个典型的项目结构的基础上创建一个简单的项目。可以很清楚的说出一个插件其实就是一个目标命令的集合所完成的普通目的功能。例如插件“jboss-maven-plugin”,它的目的功能就是“处理多个jboss的任务”。
构建项目
mvn package
命令行将会输出多个活动日志,就像如下所示:
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Thu Oct 05 21:16:04 CDT 2006
[INFO] Final Memory: 3M/6M
[INFO] ------------------------------------------------------------------------
你可能会注意到第二次不像第一次执行命令(archetype:create) 时那么复杂,而仅仅只有一个参数- package 。本次并不仅仅是一个目标命令,而是一个构造阶段的完成。这个阶段在构建生命周期的过程中的多个有序的阶段中是其中的一个步骤, Maven将会执行每一个阶段直到达到一个特定的阶段 。比如:如果我们执行了编译这个阶段那么各个阶段都得到执行,实际上是执行了:Unlike the first command executed (archetype:create) you may notice the second is simply a single word - package. Rather than a goal, this is a phase. A phase is a step in the build lifecycle, which is an ordered sequence of phases. When a phase is givenwill execute every phase in the sequence up to and including the one defined. For example, if we execute the compile phase, the phases that actually get executed are:
1. 验证validate
2. 生成代码generate-sources
3. 处理代码process-sources
4. 生成资料generate-resources
5. 处理资料process-resources
6. 变异compile
你可以测试最新编译以及打包好的Jar文件,命令如下:
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
然后将会输出该主类执行的结果:
Hello World!
运行Maven工具
Maven 的分段执行计划
虽然没有一个比较综合统一的执行计划,但这这些是最常见的生命周期执行阶段。
 验证:验证该项目是正确的以及运行这个项目所必须得信息是有效的。
 编译:编译该项目的源代码。
 测试:使用适当的单元测试框架来测试编译后的代码。测试的时候并不需要对代码进行打包或者是部署。
 打包:根据描述的格式来对编译后的代码进行打包,例如jar包。.
 集成测试:为了能够使集成测试运行,那么我的在处理或者是部署包文件的时候如果需要就得设置运行时环境变量。
 确定功能:运行及检查每一个功能包都是有效及达到质量认证的。
 安装:安装包到本地的资源库中,以方便别的该项目对此包的应用。
 部署:最后把环境变量整合好后,把最终版本的副本上传到远程资源仓库中,继而与别的开发者及项目来共享资源。
还有两个特殊的Maven的生命周期并不在其默认的生命周期中。它们是:
 清除:清除掉之前创建的版本。
 日志记录:为这个项目生产一个每一步操作的日志记录。
每一个阶段实际上正好就是每一个目标命令所达到的结果。执行的每个阶段的具体目标取决于项目的封装类型。比如:如果项目的类型是jar包那么就执行命令“jar:ja”,而如果执行命令“war:war”的话,那么这个项目的类型肯定就是war包型。
如果你对其关注的比较详细的话会注意到,那些阶段和目标命令的执行都是具有一定顺序的。
mvn clean dependency:copy-dependencies package
这条命令将会清除该项目上次的编译结果、类型的依赖、以及打好包的工程(当然是打包时所建立的子项目包)。
自动生成站点
mvn site
这个阶段会生基于项目中项目对象模型的信息而生成一个站点。你可以根据构建的日志记录到“target/site”下面查看。
总结
我们希望那个这个快速上手概述可以让你对Maven的接触中有更大的辅助作用。不过要注意这只是一个快速上手的指导。现在你可以为下一步详细、强大的功能的使用奠定了前期的具体概念。请查看Maven的入门指南。
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    maven安装maven安装maven安装maven安装maven安装

    maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...

    Maven全版本资源,Maven 3.0.5-3.8.5,每个版本包含4个文件,Maven3全资源打包下载,Maven全集

    apache-maven-3.0.5 apache-maven-3.1.1 apache-maven-3.2.5 apache-maven-3.3.9 apache-maven-3.5.4 apache-maven-3.6.3 apache-maven-3.8.5 每个版本包含4个文件: apache-maven-3.8.5-bin.tar.gz apache-maven-...

    开源工具Maven3.9.4版本压缩包

    Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...

    maven 3.8.8 解压安装版

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,...

    maven3.2.5安装包下载

    Maven最新版是款项目管理和构建自动化工具。Maven包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System)。 安装...

    apache-maven-3.8.5

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,...

    apache-maven-3.8.6.zip

    apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-...

    maven历史版本下载

    maven

    maven_repository .zip

    Maven框架,本地jar资源仓,中央仓下载jar资源 有时在你的构建过程中,需要将第三方jar包添加到本地仓库中,因为它并存在于像Maven中央仓库或其它的公共仓库中。为了让Maven能够正确获取到jar包,第三方jar包必须...

    apache-maven-3.6.zip

    Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache ...

    apache-maven-3.3.3.zip

    maven

    maven离线安装插件

    4、在links中新建maven.txt文件,内容为插件地址,例如:path=D:\eclipse_gzds\myplugins\maven(注意这里斜杠,不是反斜杠) 5、将maven.txt扩展名改为maven.lin 6、在eclipse根目录下找到eclipse.ini并打开,在...

    apache-maven-3.5.0

    maven-3.5.0版本的本地资源包,直接解压就可使用。 方式1 需要在系统环境变量中直接配置path中配置,路径是到bin目录。 方式2 新建配置(MAVEN_HOME),路径为是解压后的maven根目录,再在path中引用(%MAVEN_HOME%\...

    apache-maven-3.8.6-bin.tar.tz--test

    apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-...

    Maven权威指南中文版.pdf

    Maven是一种构建工具,一种项目管理工具,一种用来运行构建任务的抽象容器。对于那些成熟的,希望用一致的方式来管理和构建大量相互依赖的模块和类库,并且使用了 数千第三方组件的项目来说,Maven已经证明了它是一...

    Maven: 仓库搜索服务

    如何输入关键字,寻找需要依赖jar的MAVEN坐标,需要提供确切的MAVEN坐标 1.Sonatype Nexus 地址: https://repository.sonatype.org 2. Jarvana 地址: http://www.jarvana.com/jarvana 3.MVNbrowser 地址: ...

    apache-maven-3.2.5-src.zip

    Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用...

    apache-maven-3.8.6-bin+安装教程

    maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置,变更maven默认的本地仓库的位置可更改存在于maven的settings.xml文件中local...

    eclipse maven3 plugin.zip

    直接离线安装eclipse中的maven插件,在你的eclipse安装根目录下创建两个文件夹:links,myplugins(文件夹名字可以自定义),所在路径D:\eclipse。将下载下来的maven插件放到myplugins下。载links目录下创建一个...

    下载慢?给你apache maven 3.x.x所有Linux, Windows版本下载的百度网盘链接

    apache maven 3.x.x所有Linux, Windows版本下载的百度网盘链接。 apache-maven-3.0.4-bin.tar.gz apache-maven-3.0.4-bin.zip apache-maven-3.0.5-bin.tar.gz apache-maven-3.0.5-bin.zip apache-maven-3.1.0-bin....

Global site tag (gtag.js) - Google Analytics