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 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过使用一个统一的构建过程,简化了项目的构建、依赖管理以及文档生成等任务。Maven 3.5.2是Maven的一个稳定版本,包含了众多...
Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;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-...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM)的概念,能够管理项目的构建、报告和文档。Maven 3.6.0是该工具的一个稳定版本,提供了许多改进...
**Windows环境下Maven 3.8.8的安装与配置** Maven是Apache软件基金会开发的一个项目管理和综合工具,主要用于Java项目的构建、依赖管理和文档生成。Maven 3.8.8是Maven的一个版本,它包含了对之前版本的一些改进和...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM)的概念,能够管理项目的构建、报告和依赖关系。Maven 的核心理念是通过标准化的构建生命周期和...
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,...
Maven最新版是款项目管理和构建自动化工具。Maven包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System)。 安装...
在IT行业中,Maven是一个非常重要的工具,尤其对于Java开发者来说,它是项目管理和构建的首选。本篇将详细讲解如何在Mac系统上,特别是配备M1芯片的MacBook上安装Apache Maven 3.6.3。 Apache Maven是一个基于项目...
Apache Maven 是一个强大的Java项目管理工具,它极大地简化了构建、依赖管理和项目文档的生成过程。Maven 3.6.0是该工具的一个稳定版本,提供了多项改进和新特性,旨在提高开发效率和增强项目的可维护性。 Maven的...
### 超全面搭建Maven仓库 Maven是一款强大的项目管理工具,主要用于Java项目的构建、依赖管理和项目信息管理。本文将详细介绍如何搭建Maven环境、配置Maven仓库以及在Eclipse中集成Maven。 #### 一、下载安装Maven...
Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM),能够管理项目的构建、报告和文档,通过一套统一的构建生命周期和插件系统,极大地简化了软件...
Maven是Java开发领域中不可或缺的项目管理和构建工具,由Apache Software Foundation开发并维护。它通过一套规范化的构建过程,使得Java项目管理变得简单而高效。本篇文章将深入探讨Maven的历史版本以及如何下载这些...
Apache Maven 是一个强大的Java项目管理和综合工具,它简化了构建过程,通过标准化构建生命周期和依赖管理,使得开发者能够更高效地构建、测试和部署Java应用程序。Maven 3.3.9是Maven的一个稳定版本,它包含了多个...
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-...
Apache Maven 是一个强大的项目管理工具,广泛用于Java应用程序的构建、管理和依赖管理。Maven 3.5.2是该工具的一个稳定版本,专为Mac操作系统优化。在本文中,我们将深入探讨Maven的核心概念、功能以及如何在Mac...
Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。 Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-...
Apache Maven 是一个强大的项目管理和构建工具,可用于 Java 项目的构建、依赖管理和项目管理。Apache Maven 3.9.6-bin 是 Apache Maven 的一个特定版本,其中的“bin”表示这是二进制分发版,适用于直接使用而无需...
Maven是Java世界中的一款强大的项目管理和构建工具,它极大地简化了软件项目的构建、依赖管理和生命周期过程。Maven 3.8版本是该工具的一个重要更新,提供了更多的优化和改进,旨在提升开发效率和稳定性。 Maven的...
【标题】"maven之开源中国Maven库" 指的是使用 Maven,一个流行的Java项目管理和集成工具,与开源中国的Maven仓库进行交互。开源中国Maven库是中国的一个开源软件资源平台,提供了大量的开源Java库,使得开发者可以...