MAVEN5分钟入门

来源:互联网 发布:卖家如何使用淘宝客 编辑:程序博客网 时间:2024/06/01 10:13

翻译于apache官方文档:http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

先决条件

您必须了解如何在计算机上安装软件。如果你不知道如何做到这一点,请问你的办公室,学校等人,或者给你一个人来解释这个问题。 Maven邮件列表不是最好的地方要求这个建议。

安装

Maven是一个Java工具,所以你必须安装Java才能继续。

首先,下载Maven并按照安装说明进行操作。之后,在终端或命令提示符下键入以下内容:

mvn –version
它应该打印出你安装的Maven版本,例如:

Apache Maven 3.0.5(r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28 + 0100)Maven主页:D:\ apache-maven-3.0.5 \ bin \ ..Java版本:1.6.0_25,供应商:Sun Microsystems Inc.Java home:C:\ Program Files \ Java \ jdk1.6.0_25 \ jre默认语言环境:nl_NL,平台编码:Cp1252操作系统名称:“windows 7”,版本:“6.1”,arch:“amd64”,系列:“windows”

根据您的网络设置,您可能需要额外的配置。如有必要,请查看“配置Maven指南”。

如果您使用Windows,您应该看看Windows先决条件,以确保您准备在Windows上使用Maven。

创建项目

您将需要某个地方驻留您的项目,在某个地方创建一个目录,并在该目录中启动一个shell。在您的命令行中,执行以下Maven目标:

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

POM

pom.xml文件是Maven中项目配置的核心。 它是一个单一的配置文件,其中包含了以所需方式构建项目所需的大部分信息。 POM是巨大的,可能在复杂性方面令人生畏,但是没有必要了解所有的复杂性,还没有有效地使用它。 这个项目的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>  <version>1.0-SNAPSHOT</version>  <packaging>jar</packaging>  <name>Maven Quick Start Archetype</name>  <url>http://maven.apache.org</url>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.8.2</version>      <scope>test</scope>    </dependency>  </dependencies></project>

我刚做什么?
您执行了Maven目标原型:生成,并将各种参数传递给该目标。前缀原型是包含目标的插件。如果您熟悉Ant,您可能会将其视为与任务相似。这个目标创建了一个基于原型的简单项目。现在只要说一个插件是一个具有一般共同目的的目标集合。例如jboss-maven-plugin,其目的是“处理各种jboss项目”。

建设项目

mvn包
命令行将打印出各种操作,并结束如下:

 ...[INFO] ----------------------------------------------- -------------------------[INFO] BUILD SUCCESSFUL[INFO] ----------------------------------------------- -------------------------[INFO]总时间:2秒[INFO]完成于:Thu Jul 07 21:34:52 CEST 2011[INFO] Final Memory:3M / 6M[INFO] ----------------------------------------------- -------------------------

与执行的第一个命令(archetype:generate)不同,您可能会注意到第二个命令只是一个单一的单词包。而不是一个目标,这是一个阶段。阶段是构建生命周期中的一个阶段,它是有序的阶段序列。当给出相位时,Maven将执行序列中的每个相位,直到并包括定义的相位。例如,如果我们执行编译阶段,实际执行的阶段是:my-app
|-- pom.xml
– src
|– main
| -- java
|
– com
| -- mycompany
|
– app
| -- App.java
– test
-- java
– com
-- mycompany
– app
-- AppTest.java

验证
产生来源
流程源
生成资源
流程资源

您可以使用以下命令测试新编译和打包的JAR:

java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

哪个将打印典型的:

你好,世界!

运行Maven工具

Maven阶段

尽管几乎不是一个全面的列表,但这些是执行的最常用的默认生命周期阶段。

  • 验证:验证项目是否正确,所有必要的信息可用
  • 编译:编译项目的源代码
  • 测试:使用合适的单元测试框架测试编译的源代码。这些测试不应该要求代码被打包或部署
  • 包:将编译后的代码以可分发格式(如JAR)打包。
  • 集成测试:如果需要,可以将包过程并部署到可以运行集成测试的环境中
  • 验证:运行任何检查以验证包是否有效并符合质量标准
  • 安装:将软件包安装到本地存储库中,以作为本地其他项目的依赖关系
  • 部署:在集成或发布环境中完成,将最终软件包复制到远程存储库以与其他开发人员和项目共享。
    除了上面的默认列表之外,还有另外两个Maven生命周期。他们是

  • 清洁:清理由先前版本创建的工件

  • 站点:生成此项目的站点文档
    阶段实际上映射到基本目标。每个阶段执行的具体目标取决于项目的包装类型。例如,如果项目类型是JAR,则包执行jar:jar,如果项目类型是 - 你猜到它是一个WAR,那么war:war。

要注意的一个有趣的事情是,阶段和目标可以按顺序执行。

mvn clean dependency:copy-dependencies package

该命令将清理项目,复制依赖项并打包项目(当然,执行所有阶段都可以打包)。

生成网站

mvn site

此阶段根据项目的pom信息生成一个站点。您可以查看目标/站点下生成的文档。

结论

我们希望这个快速的概述引发了您对Maven多功能性的兴趣。请注意,这是一个非常截断的快速入门指南。现在,您已准备好了解您刚刚执行的操作的更全面的详细信息。查看“Maven入门指南”。

http://maven.apache.org/guides/getting-started/index.html

原创粉丝点击