《maven官方文档》5分钟开始Maven

原文地址

前提

你必须明白如何在电脑上安装软件。如果你不知道如何做,请向你学校、办公室里等的人请教下,或者付费给他人让他们解释给你。Maven邮件组不是寻求这个建议的最好地方。

安装

Maven是个Java工具,所以你必须安装了Java才能继续。首先,下载Maven,然后按照安装指南。完成后,在终端或命令行中键入如下指令:

1 mvn --version

应该会打印已安装Maven的版本。例如:

1 Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
2 Maven home: D:\apache-maven-3.0.5\bin\..
3 Java version: 1.6.0_25, vendor: Sun Microsystems Inc.
4 Java home: C:\Program Files\Java\jdk1.6.0_25\jre
5 Default locale: nl_NL, platform encoding: Cp1252
6 OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

基于你的网络设置,你需要额外的配置。如果有必要的话看看Maven配置指南.如果你在使用Windows,你应该查看Windows前提以确保你已准备好在Windows上使用Maven。

创建一个项目

你需要一个给你项目保存的地方。在某处创建一个目录,然后在这个目录里开始shell。在你的命令行上,执行如下Maven语言:

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

如果你已安装Maven,第一次执行这个需要一定时间。这是因为Maven在下载最新的物件(jar插件和其他文件)到你的本地仓库。在成功前,也需要你执行几次命令。这是因为在下载完成前,远程服务器可能超时。别担心,有几种解决这个的方法。

你讲看见生成语言创建了一个和物件ID相同名字的目录。变更到这个目录:

1 cd my-app

使用这个目录,你讲看到如下标准目录结构

01 my-app
02 |-- pom.xml
03 `-- src
04     |-- main
05     |   `-- java
06     |       `-- com
07     |           `-- mycompany
08     |               `-- app
09     |                   `-- App.java
10     `-- test
11         `-- java
12             `-- com
13                 `-- mycompany
14                     `-- app
15                         `-- AppTest.java

src/main/java目录包含项目源代码,src/test/java目录包含检查源代码,pom.xml是项目的项目对象模型,或POM。

POM

在Maven里,pom.xml文件是项目配置的核心。它是一个独立的配置文件,包含了你想要的方式下建立项目所必须的主要信息。POM是巨大的,其复杂度使人苦恼。但你只需要有效地使用它,没有必要明白所有的错综复杂。项目的POM是:

03   <modelVersion>0.0</modelVersion>
04  
05   <groupId>mycompany.app</groupId>
06   <artifactId>my-app</artifactId>
07   <version>0-SNAPSHOT</version>
08   <packaging>jar</packaging>
09  
10   <name>Maven Quick Start Archetype</name>
11   <url>http://maven.apache.org</url>
12   <dependencies>
13     <dependency>
14       <groupId>junit</groupId>
15       <artifactId>junit</artifactId>
16       <version>8.2</version>
17       <scope>test</scope>
18     </dependency>
19   </dependencies>
20 </project>

 

只需要我做的是什么?

你执行了Maven语言原型:generate,向这个语言传了许多参数。前缀原型是包含这个语言的插件。如果你熟悉Ant,你可以设想这个是相同的任务。基于一个原型,这个语言创建了一个简单的项目。现在可以说,插件是个有通用目的的语言的集合。例如jboss-maven-plugin,目的是“处理大量jboss条目”。

建设项目

1 mvn package

命令行会打印出各种指令,并具有以下结尾:

1 ...
2 [INFO] ------------------------------------------------------------------------
3 [INFO] BUILD SUCCESSFUL
4 [INFO] ------------------------------------------------------------------------[INFO] Total time: 2 seconds
5 [INFO] Finished at: Thu Jul 07 21:34:52 CEST 2011
6 [INFO] Final Memory: 3M/6M
7 [INFO] ------------------------------------------------------------------------

不像第一个执行的命令(archetype:generate),你可能注意到第二个命令是简单的一个词-package。这是个阶段实行而不是语言。实行阶段是[建设生命周期]( https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html)里的而一个步骤,是一系列有序的阶段。当给出一个实行阶段,Maven将执行序列里的每一个阶段,并且包括定义的阶段。例如,如果我们执行编译阶段,实际上得到执行的阶段是:

  1. 验证
  2. 编译代码
  3. 处理代码
  4. 生成资源文件
  5. 处理资源文件
  6. 编译
您可以使用以下命令测试新编译和打包的JAR:
1 java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

将打印经典语句:

1 Hello World!

运行Maven工具

Maven阶段

尽管几乎没有一个全面的清单,这些都是执行最常用的默认生命周期阶段。

  • 验证:验证项目是正确的,所有必要的信息
  • 编译:编译项目的源代码
  • 测试:使用合适的单元测试框架测试编译的源代码。 这些测试应该不需要代码被打包或部署
  • :把编译后的代码,并在其分发格式打包,例如一个JAR。
  • 集成测试:如果需要,处理和部署包到集成测试可以运行的环境
  • 验证:运行任何检查,以验证包是有效的,同时符合质量标准
  • 安装:包本地安装到本地存储库中,用作本地其他项目的依赖
  • 部署:在集成或发布环境中进行,复制最终的包到远程仓库与其他开发者和项目共享。

还有值得注意的另外两个Maven的生命周期超出上面的默认列表。 他们是

  • 清洁:清理之前建立创建的工件
  • 网站:生成此项目的站点文档,

实行阶段实际上映射到底层的语言。 每阶段中执行的具体语言是取决于项目的包类型。 例如, packet执行的jar:jar,如果项目类型为JAR和war:war ,如果项目类型是-你猜对了-WAR。

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

1 mvn clean dependency:copy-dependencies package

此命令将清理项目,复制依赖关系,并打包项目(当然执行各个阶段到 )。

生成站点

1 mvn site

这个阶段产生基于对项目的POM信息的站点。你可以看一下在target/site生成的文档。

结论

我们希望这一快速浏览已经激起了你的Maven中的通用性兴趣。请注意,这是一个非常截断快速入门指南。现在,你已经准备好关于你刚才执行的动作更全面的信息。 看看Maven的入门指南 。

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《maven官方文档》5分钟开始Maven

from: http://ifeve.com/getting_started_in_five_minutes/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值