`

maven 教程一

 
阅读更多

Maven是一个采用纯Java编写的开 源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制 项目。 

1:http://maven.apache.org/download.html 下载最新版本 Maven 3.0.2 (Binary zip) 
 

2:解压到 D: 
 

3:配置环境变量 
   MAVEN_HOME : D:\apache-maven-3.0.2 
   MAVEN : %MAVEN_HOME%\bin 
  (可选) MAVEN_OPTS : -Xms256m -Xmx512m 

   在path 前面 加上 %MAVEN%; 
 

4:验证安装是否成功 
在命令行上输入 : mvn -version; 回车,如看到下面信息表示安装成功: 

 

5:创建项目 
在命令行上输入 :mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app 回车, 

 

如果你是首次运行该命令(goal),maven将要花一些时间去把最新的工具包(Maven 把它叫作artifacts)下载到你的本地仓库。 

 

命令执行完后你将看到maven生成了一个名为my-app的目录,这个名字就是你在命令中指定的artifactId,进入该目录,你将发现以下标准的项目结构: 

 

其中:src/main/java 目录包含了项目的源代码,src/test/java 目录包含了项目的测试代码,pom.xml是项目的项目对象模型(Project Object Model or POM)。 

6: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>my-app</name> 
  <url>http://maven.apache.org</url> 

  <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
  </properties> 

  <dependencies> 
    <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
    </dependency> 
  </dependencies> 
</project> 

7:第5步我们做了什么 
引用
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

执行Maven 命令(goal)archetype:create,并且设置了一些参数( -DgroupId=com.mycompany.app -DartifactId=my-app) 

在这个命令中,前缀 archetype 是包含create命令的一个maven的plugin。这个goal命令根据项目原型(符合maven标准的项目模板)建立了一个简单的项目。 

现在可以确定地说,一个maven plugin 就是一些有着相同目的的goals命令的集合,例如 jboss-maven-plugin 这个插件,就是为了处理各种和jboss相关的任务。 

8:Build 项目 
在命令行上 输入 : cd my-app 回车,进入到 项目路径下 

 

再输入 mvn package 回车这时命令行将会打印出各种动作,并且以下面一段信息结束: 

 

与首次执行的命令(那是一个goal
引用
archetype:create

不同,这次执行的只是一个简单的命令---package。不同于goal,这是一个phase(阶段),一个phase是指构建生命周期的一个阶段,构建生命周期是指有序的一系列phase。当给出一个phase,Maven将执行所有的在此阶段前的phase及其自身,例如,如果我们执行compile阶段,实际上执行的阶段有: 
引用
validate 
generate-sources 
process-sources 
generate-resources 
process-resources 
compile

你可以使用以下的命令来测试新编译和打包出来的jar包, 
引用
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

这时将打印出最经典的: 
引用
Hello World!

 

9:运行Maven工具 

虽然很难列出一张非常全面的表,但在此可先列出最普通的默认的生命周期阶段: 
引用
validate:验证工程是否正确,所有需要的资源是否可用。 
compile:编译项目的源代码。   
test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。 
Package:把已编译的代码打包成可发布的格式,比如jar。 
integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。 
verify:运行所有检查,验证包是否有效且达到质量标准。 
install:把包安装在本地的repository中,可以被其他工程作为依赖来使用。 
Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。 
clean:清除先前构建的artifacts(在maven中,把由项目生成的包都叫作artifact)。 
site:为项目生成文档站点。 
  
上面列出的各个Phases(阶段)实际上对应着潜在的goals,特殊的每个阶段执行的特殊的goals由项目的类型所决定,例如:如果项目的类型是jar,package阶段将默认执行jar:jar的goals,如果项目类型是war,那么package阶段执行的goals将是war:war。 
有件有趣的事情需要注意,那就是phases和goals需要按一定的顺序来执行。 
mvn clean dependency:copy-dependencies package 
这个命令将先清除项目,然后拷贝依赖,最后把项目打包,当然,在打包之前,会先执行此阶段之前的阶段.如compile,test等. 
生成站点 
mvn site 
这个阶段生成基于pom.xml配置的项目信息。你可以在target/site目录下看到生成的文档。
分享到:
评论

相关推荐

    Maven视频教程

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

    chm版本Maven教程

    maven教程,目录如下: Maven安装配置 Maven启用代理访问 Maven本地资源库 Maven中央存储库 如何从Maven远程存储库下载? Maven添加远程仓库 Maven依赖机制 定制库到Maven本地资源库 使用Maven创建Java项目 使用...

    Maven教程.pdf

    Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理 工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。本文档详细介绍了Maven的下载安装以及怎么使用。

    maven视频教程maven视频教程

    这是一套详细介绍maven框架的视频教程!这是一套详细介绍maven框架的视频教程!这是一套详细介绍maven框架的视频教程!

    maven视频教程

    一套不可多得的Maven视频教程,非常有用的通俗易懂,老师说话很温柔。

    MAVEN教程,在Intellij IDEA中添加你之前安装的MAVEN的教程

    MAVEN教程,在Intellij IDEA中添加你之前安装的MAVEN的教程 MAVEN是JAVA打包必备工具,是JAVA程序员的必备技能之一 本文内容包括: MAVEN使用教程 如果你机子上已经安装了MAVEN,后又安装INTELIJ IDEA,如何将二者整合...

    maven快速培训教程

    maven是一个用于java项目管理和自动构建的软件工具。 项目开发中疑问 什么是maven 为什么要使用maven maven和ant的区别 maven安装 一个使用maven的例子 资源库和依赖 POM文件 maven插件 常见用法 源码目录结构 maven...

    MAVEN 快速教程.pdf

    Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。...于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

    maven详细使用教程

    maven详细使用教程 maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。maven的主要作用是解决项目中存在的问题,如多个项目之间的依赖关系、测试方法的执行和仓库的管理等。 maven的...

    idea使用maven创建web项目详细教程

    本教程将指导您使用 IDEA 创建一个 Maven Web 项目,从安装 Maven 到配置 Maven 环境、创建 Maven 工程、pom.xml 文件配置、依赖管理等。 1. 安装 Maven 在 IDEA 中使用 Maven 之前,需要先安装 Maven。在 Maven ...

    Eclipse整合Maven开发教程

    本文面向具有eclipse相关开发经验的技术人员,一步步说明如果在eclipse中集成Maven进行开发。本教程是入门级教程,由于本站发表文章实在不便,故将word文档直接上传了。 目录 Eclipse整合Maven开发教程 1 1. ...

    maven3.0.4学习教程

    网上下的maven3.0.4学习教程,还不错,值得一看!

    maven基础入门教程

    maven 入门教程PDF,包括maven介绍,配置,项目创建,eclipse创建maven项目等

    apache maven入门教程

    在JAVA界,可能大家比较熟悉ANT,它提供了强大的功能,让...在网上搜索发现众多开源团队中有一个国内开源团队也使用了MAVEN管理项目,并可以基于框架来生成项目原型。 本文以新建一个项目为实例,讲解MAVEN的基本应用

    maven快速培训PPT

    maven是一个用于java项目管理和自动构建的软件工具。 公司员工内部maven培训ppt教程,总体介绍了一下maven 想迅速了解maven 的可以看看

    maven 简单使用教程

    java编写的用于构建系统的自动化工具。 目前版本是2.0.9,注意maven2和maven1有很大区别,阅读第三方文档时需要区分版本。

    尚硅谷学习笔记+代码,Maven 教程

    尚硅谷学习笔记+代码,Maven 教程 Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具 1、构建 Java 项目开发过程中,构建指的是使用 『原材料生产产品』 的过程。 原材料 Java...

    项目管理工具Maven从基础到高级应用视频教程

    1.Maven简介 2.下载与安装 3.Maven基础概念(重点) 4.第一个Maven项目(手工制作) (重点) 5.第一个Maven项目(IDEA生成)(重点) 6.依赖管理(重点) 7.生命周期与插件 8.分模块开发与设计(重点) 9.聚合...

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

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

    项目管理工具Maven工具教程.CHM

    极客出品——项目管理工具Maven 工具教程。 Apache Maven 是一套软件工程管理和整合工具。基于工程对象模型(POM)的概念,通过一个中央信息管理 模块,Maven 能够管理项目的构建、报告和文档。‌

Global site tag (gtag.js) - Google Analytics