1. 简介
Maven是一个跨平台的项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。
2. Maven功能概括
a. 遵循最佳实践的简单项目设置 -- 可以在数秒钟内得到一个新的项目或模块
b. 在所有项目中一致的使用意味着新进入项目的开发人员能够更快上手
c. 优秀的依赖管理,包括自动更新,依赖闭包(也称为传递依赖)
d. 能够很容易地同时与多个项目一起工作
e. 一个庞大且不断增长的开箱即用的库和元数据的存储库,以及最大的开源项目的最新版本的实时可用性维护。
f. 可扩展并且能够方便地使用Java和脚本语言编写插件
g. 使用很少或根本不用额外的配置就能即时访问新的功能
h. Maven之外的依赖管理和部署的Ant任务。
i. 基于模型的构建:Maven可以构建任意数量的项目到预定义的输出类型,如JAR,WAR,或基于元数据发布项目,在大多数情况下不需要任何的脚本。
j. 相干网站项目信息:通过在构建过程中使用相同的元数据,Maven能够生成一个网站或PDF包括任何你想添加的文件,并增加了项目开发进度的标准报告。
k. 发布管理和分销出版:无需太多额外配置,Maven将集成源代码控制系统如CVS并根据特定标签管理项目的发布。它也可以发布到其他项目使用的发布位置。Maven能够发布独立的输出,如JAR,包括其他依赖和文档的归档,或源代码分发。
l. 依赖管理:Maven鼓励使用中央存储库的JAR文件和其他的依赖。Maven带有一种机制能够让你项目的客户从中央JAR仓库下载构建项目所需的JAR文件,这很像Perl的CPAN库。这使得Maven用户在多个项目中重用的JAR文件,并鼓励项目之间的沟通以确保向后兼容性问题的处理。
3. 安装配置Maven
(1) Windows安装
a. 确认已经正确安装JDK。
b. 下载最新版本的Maven,即apache-maven-3.0.5-bin.zip,下载地址是:http://maven.apache.org/download.html。
c. 解压,我把解压后的目录放在D:\Program Files下。
d. 设置环境变量。新建一个系统变量M3_HOME,值为:D:\Program Files\apache-maven-3.0.5。在系统变量里找到Path,点击编辑,添加变量值"%M3_HOME%\bin".注意:多个值之间需要有分号隔开。
e. 注意Path环境变量。当我们在cmd中输入命令时,Windows首先会在当前目录中寻找可执行文件或脚本,如果没有找到,Windows会接着遍历环境变量Path中定义的路径。安装好之后,在使用mvn -v命令来检查配置是否正确。如果安装无误,将会显示Maven的版本信息。
(2) Linux安装
a.下载最新版本的Maven,即apache-maven-3.0.5-bin.tar.gz,下载地址是:http://maven.apache.org/download.html。
b. 解压到本地目录: tar -zxvfapache-maven-3.0.5-bin.tar.gz。
c. 解压后Maven安装目录为apache-maven-3.0.5。虽然直接使用该目录配置环境变量之后就能直接使用Maven了,但推荐在安装目录旁平行地创建一个符号链接,以方便升级(直接把链接指向新版本):ln -s apache-maven-3.0.4 apache-maven
d. 设置环境变量:
export M3_HOME=/home/jackie/Software/apache-maven
export PATH=$PATH:$M3_HOME/bin
一般来说,需要将以上两行命令添加到系统的登录shell脚本中去,这样每次启动一个终端,这些配置就能自动执行。
(3) 检测安装是否成功
cmd窗口执行命令:mvn –v
4. Maven安装目录
(1)bin:该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,准备好classpath和相关的Java系统属性,然后执行Java命令。其中mvn是基于UNIX平台的shell脚本,mvn.bat是基于Windows平台的批处理文件。同理mvnDebug和mvnDebug.bat分别是UNIX平台和Windows平台的脚本。mvnDebug比mvn多了一条MAVEN_DEBUG_OPTS配置,其作用就是在运行Maven时开启debug,以便调试Maven本身。该目录还包含m2.conf文件,这是classworlds的配置文件。
(2)boot:该目录只包含一个文件,即plexus-classworlds-2.4.jar。plexus-classworlds是一个类加载器框架,相对于默认的java类加载器,它提供了更丰富的语法以方便配置,Maven使用该框架架在自己的类库。
(3)conf:该目录只包含一个settings.xml。直接修改该文件,就能在机器上全局的定制Maven行为。推荐做法是复制该文件至用户目录下的.m2目录下,然后修改该文件,在用户范围定制Maven行为。
(4)lib:该目录包含了所有Maven运行时需要的Java类库,Maven本身是分模块开发的。
(5)LICENSE.txt:该文件记录了Maven使用的软件许可证Apache License Version 2.0。
(6)NOTICE.txt:记录Maven包含的第三方软件。
(7)README.txt:包含Maven的简介,包括安装需求及如何安装的简要指令等。
5. Maven安装最佳实践
(1)设置MAVEN_OPTS环境变量
通常需要设置MAVEN_OPTS的值,因为Java默认的最大可用内存往往不能够满足Maven运行的需要,比如项目较大时,使用Maven生成站点需占用大量内存,如果无此配置,很容易得到java.lang.OutofMemeoryError。所以推荐一开始就配置该变量。
(2)配置用户范围settings.xml
为避免影响系统其他用户,推荐使用用户范围的settings.xml,而且便于Maven升级。
(3)不要使用IDE内置的Maven
Eclipse有一个内置的Maven,不一定稳定,而且我们经常会使用命令行的Maven,所以推荐在Eclipse中配置Maven插件时使用与命令行一致的Maven。
6. 参考资料
-
maven官网:http://maven.apache.org/
-
maven权威指南中文版:http://www.sonatype.com/books/maven-book/reference_zh/public-book.html
-
maven仓库搜索:http://www.mvnrepository.com/
- The Maven 2 POM demystified - article at JavaWorld
- Maven for PHP
相关推荐
### 一、Maven的下载与安装 1. **访问官方网站**: 首先,你需要从Apache Maven的官方网站(https://maven.apache.org/download.cgi)下载最新版本的Maven。根据你的操作系统(Windows, macOS, Linux)选择相应的...
#### 二、Maven 的下载与安装 **下载** 1. **访问官方站点**:首先访问 Apache Maven 的官方网站 (https://maven.apache.org/download.cgi),这是获取最新稳定版本 Maven 的最安全途径。 2. **选择稳定版本**:...
本文将详细介绍Maven的下载、安装以及配置过程,帮助开发者更好地理解和运用这一强大的工具。 ### 一、Maven简介 Maven通过使用一个标准的目录结构和一个XML格式的项目对象模型(Project Object Model,POM),...
### 软件开发+Maven技术+Maven安装与配置+基础课程 #### Maven基础知识与核心概念 Maven是一款非常流行的项目管理和构建工具,在Java项目中被广泛应用。它的核心特性之一是通过POM(Project Object Model)文件来...
本文将深入探讨Maven的安装步骤、基本配置以及如何在实际开发中运用。 ### 一、Maven的安装 1. **下载Maven**:首先,你需要从Apache官方网站(https://maven.apache.org/download.cgi)下载最新版本的Maven。选择...
本篇文章将详细介绍Maven的安装与配置过程,以及在实际开发中的应用。 首先,我们需要了解Maven的基本概念。Maven通过一个名为pom.xml的项目对象模型(Project Object Model)文件来描述项目,该文件包含了项目的...
** Maven 下载、安装与配置试用教程 ** Maven 是一个强大的 Java 项目管理和构建...通过以上步骤,你已经了解了 Maven 的下载、安装、配置和使用,现在可以开始尝试在自己的项目中运用 Maven,体验其带来的便利性。
总之,Maven的配置和使用是Java开发中的基础技能,特别是在大型的JavaEE项目中,理解并熟练运用Maven可以极大地提高开发效率。IntelliJ IDEA的集成使得这一过程变得更加便捷,让开发者能专注于编写代码,而不是繁琐...
Maven是一个强大的项目管理工具,它帮助Java开发者管理和构建项目,通过自动处理项目的依赖关系。在本教程中,我们将详细介绍如何进行Maven的配置,特别是利用阿里云镜像来提高下载速度。 ### Maven配置基础 1. **...
本文将详细解析Maven的配置文件、仓库以及与之相关的POM帮助文档。 首先,我们来看看Maven的核心配置文件——`settings.xml`。这个文件位于用户的`.m2`目录下,它定义了Maven的全局配置,包括本地仓库路径、远程...
总的来说,sdoapi和sdoutl-1.0是Java开发中处理服务数据对象的利器,它们提供了一种标准化的方式来处理数据,而Maven的pom.xml配置则确保了项目可以正确引用这些库。理解并熟练运用这些工具,对于提升Java应用的数据...
在用maven项目的时候,很多时候不想去再把项目部署到Tomcat上,然后发布并启动,这个时候我们就可以运用Tomcat热部署来配置,只需要再maven的配置文件加上一小段代码即可,非常方便! 启动的时候直接:右键项目--...
Apache Maven 是一个强大的项目管理工具,它主要用于构建、管理和聚合Java项目。这个压缩包包含了Apache Maven的三个不同版本:...同时,学习如何编写POM.xml文件,理解和运用Maven的坐标系统,是掌握Maven的关键。
通常,开发者会创建多个Maven配置文件(profiles),每个文件对应一个特定的环境,然后通过filtering功能过滤资源文件中的变量,实现环境间配置的切换。 【标签】:“源码 工具” “源码”标签暗示了讨论可能涉及...
4. **验证安装**:打开命令行,输入`mvn -version`,如果正确配置,你应该能看到Maven的版本信息,表明安装成功。 在使用Maven时,主要涉及以下几个核心概念: - **项目对象模型(POM)**:POM是Maven的核心,它是...
1. **Project Object Model (POM)**: Maven 项目的中心是POM,它是一个XML文件,包含了项目的信息、构建配置、依赖关系和插件设置。Maven API提供了对POM的读取和操作,使开发者可以动态修改或创建POM文件。 2. **...
Maven的核心概念之一就是项目对象模型(Project Object Model,简称POM),它是Maven配置的基础。本篇文章将深入探讨Maven的两个重要特性:继承(Inheritance)和聚合(Aggregation),并结合提供的资源《一头扎进...
**Spring与Maven的集成** Spring和Maven的集成使得开发过程更为便捷。通过Maven的依赖管理,我们可以轻松引入Spring框架和其他第三方库,而Spring的注解配置则减少了XML配置的工作量。例如,我们可以通过`@...
在每个模块中,都有一个pom.xml文件,这是Maven的项目对象模型(Project Object Model)的配置文件。它定义了项目的属性(如版本号、作者)、依赖、构建插件和构建过程等信息。在父项目中,pom.xml文件会包含所有子...