之前听同学说过关于他们公司使用Maven框架来做项目管理,后来也跟他一起参与过一个小的项目,但没有仔细的去搞,现在好好学习一下。

文章转载自:易百教程 [http:/www.yiibai.com]

Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。

本教程将介绍如何使用Maven在Java开发,或任何其他的编程语言的任何项目。

Maven是什么?

Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。

在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。

Maven提供了开发人员的方式来管理:

  • Builds

  • Documentation

  • Reporting

  • Dependencies

  • SCMs

  • Releases

  • Distribution

  • mailing list

概括地说,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。

Maven历史

Maven最初设计,是以简化Jakarta Turbine项目的建设。在几个项目,每个项目包含了不同的Ant构建文件。 JAR检查到CVS。

Apache组织开发Maven可以建立多个项目,发布项目信息,项目部署,在几个项目中JAR文件提供团队合作和帮助。

Maven目标

Maven主要目标是提供给开发人员:

  • 项目是可重复使用,易维护,更容易理解的一个综合模型。

  • 插件或交互的工具,这种声明性的模式。

Maven项目的结构和内容在一个XML文件中声明,pom.xml 项目对象模型(POM),这是整个Maven系统的基本单元。有关详细信息,请参阅Maven POM的部分。

Apache Maven 是一种创新的软件项目管理工具,提供了一个项目对象模型(POM)文件的新概念来管理项目的构建,相关性和文档。最强大的功能就是能够自动下载项目依赖库。

在本教程中,它提供了如何使用 Apache Maven 3.x 的许多实例和解释。

Maven安装和配置

在 Windows 的安装指南。

一、在Windows上安装Maven

想要安装 Apache Maven 在Windows 系统上, 只需要下载 Maven 的 zip 文件,并将其解压到你想安装的目录,并配置 Windows 环境变量。

所需工具 :

  1. JDK 1.8
  2. Maven 3.3.3
  3. Windows 7注
Maven 3.2 要求 JDK 1.6 或以上版本, 而Maven 3.0/3.1 需要 JDK 1.5 或以上

1. JDK 和 JAVA_HOME

确保已安装JDK,并 “JAVA_HOME” 变量已加入作为 Windows 环境变量。

2. 下载Apache Maven

访问 Maven官方网站,打开后找到下载链接,如下:

下载 Maven 的 zip 文件,例如: apache-maven-3.3.3-bin.zip,将它解压到你要安装 Maven 的文件夹。

假设你解压缩到这个文件夹 –  D:\software\yiibai.com\apache-maven

注意:在这一步,只是文件夹和文件,安装不是必需的
 

3. 添加 M2_HOME 和 MAVEN_HOME

添加 M2_HOME 和 MAVEN_HOME 环境变量在Windows,并将其指向你的 Maven 文件夹。

M2_HOME 或 MAVEN_HOME
Maven 说只是添加 M2_HOME , 但一些项目仍引用 Maven 的文件夹 MAVEN_HOME, 因此,为了安全也把它添加进去。

4. 添加到环境变量 - PATH

更新 PATH 变量,添加 Maven bin 文件夹到 PATH 的最后 – %M2_HOME%\bin, 这样就可以到处运行 Maven 命令了。

5. 验证

完成,以验证它,执行 mvn –version 在命令提示符下,如下图输出结果:

C:\Users\Administrator>mvn -version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00)
Maven home: D:\software\yiibai.com\apache-maven
Java version: 1.8.0_40, vendor: Oracle Corporation
Java home: D:\Program Files\Java\jdk1.8.0_40
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
二、启用Maven的代理访问

如果你的公司正在建立一个防火墙,并使用HTTP代理服务器来阻止用户直接连接到互联网。如果您使用代理,Maven将无法下载任何依赖。

为了使它工作,你必须声明在 Maven 的配置文件中设置代理服务器:settings.xml.

1. Maven配置文件

找到文件 {M2_HOME}/conf/settings.xml, 并把你的代理服务器信息配置写入。注:{M2_HOME}  => D:\software\yiibai.com\apache-maven

{M2_HOME}/conf/settings.xml

<!-- proxies

   | This is a list of proxies which can be used on this machine to connect to the network.
| Unless otherwise specified (by system property or command-line switch), the first proxy
| specification in this list marked as active will be used.
|-->
<proxies>
<!-- proxy
| Specification for one proxy, to be used in connecting to the network.
|
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</</username>
<password>proxypass</password>
<host>proxy.host.net</host>
<port>80</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
-->
</proxies>

取消注释代理选项,填写您的代理服务器的详细信息。

<!-- proxies
| This is a list of proxies which can be used on this machine to connect to the network.
| Unless otherwise specified (by system property or command-line switch), the first proxy
| specification in this list marked as active will be used.
|-->
<proxies>
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>yiibai</username>
<password>password</password>
<host>proxy.yiibai.com</host>
<port>8888</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
</proxies>

2. 保存文件

完成后,Apache Maven 应该是能够通过代理服务器立即连接到Internet。

注意:重新启动不是必需的。Maven 只是一个命令,当你调用它,它会再次读取该文件。

Maven资源库

Maven 位置,中央和远程存储库配置和解释,有些术语可能需要在 Maven 使用前理解。

  • Maven本地资源库
    Maven 的本地资源库是用来存储项目的依赖库,默认的文件夹是 “.m2” 目录,可能需要将其更改为另一个文件夹。
  • Maven中央存储库
    Maven 中央存储库是 Maven 用来下载所有项目的依赖库的默认位置。
  • 如何从Maven远程存储库下载?如何添加远程库?
    并非所有的库存储在Maven的中央存储库,很多时候需要添加一些远程仓库来从其他位置,而不是默认的中央存储库下载库。
  • Maven依赖机制
    这里的文章是关于传统方式和Maven方式的依赖库的不同,并说明 Maven 会从那里搜索这些库。
  • 定制库到Maven本地资源库
    很多库仍然不支持 Maven 的 pom.xml 的概念,这里有一个指南来说明如何包括“非Maven支持”库到 Maven 本地资源库中。

基于Maven项目和Eclipse IDE

实例是使用Maven创建Java项目和Web应用程序,以及演示如何将其导入到Eclipse IDE中。

Maven基本操作

一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目。

Maven参考

Apache-Maven学习(转)的更多相关文章

  1. Windows10 + eclipse + JDK1.8 + Apache Maven 3.6.0 + dl4j深度学习环境配置

    Windows10 + eclipse + JDK1.8 + Apache Maven 3.6.0 + dl4j深度学习环境配置 JDK下载安装请自行,并设置好环境变量1 查看Java版本C:\Use ...

  2. Maven学习随笔二——Maven初始配置

    到现在为止,我对maven的理解是,跟svn差不多,帮我们管理项目的工具,到底是不是这样,拭目以待!! 弱弱解释,svn是什么? 简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每 ...

  3. Maven学习-目录结构

    在前一篇文章中,我们介绍了什么是Maven,以及如何用Maven来构建我们的项目.不了解Maven的童鞋,可以看这里Maven学习-入门.在这篇文章中,我们将学习Maven的项目的目录结构相关的内容. ...

  4. Maven 学习-入门

    在进行Java开发的过程中,我接触到了Maven这套构建工具.所以,花费了点时间学习了一下这套构建工具,在学习过程中学习到的有关Maven的知识,在这里分享给大家. 什么是Maven 首先,在介绍Ma ...

  5. maven学习讲解

    参考链接:http://www.cnblogs.com/bigtall/archive/2011/03/23/1993253.html 1.前言 Maven,发音是[`meivin],"专家 ...

  6. Maven学习(五)-- 聚合与继承

    标签(空格分隔): 学习笔记 Maven的聚合特性能够把项目的各个模块聚合在一起构建: Maven的继承特性能够帮助抽取各模块相同的依赖和插件等配置,在简化POM的同时,还能够促进各个模块配置的一致性 ...

  7. Maven学习(四)-- 生命周期和插件

    标签(空格分隔): 学习笔记 Maven生命周期是抽象的,不做任何实际的工作,在Maven的设计中,实际的任务都交由插件来完成. 每个构件步骤都可以绑定一个或者多个插件行为,而且Maven为大多数构建 ...

  8. Maven学习(三) -- 仓库

    标签(空格分隔): 学习笔记 坐标和依赖时任何一个构件在Maven世界中的逻辑表示方式:而构件的物理表示方式是文件,Maven通过仓库来同意管理这些文件. 任何一个构件都有其唯一的坐标,根据这个坐标可 ...

  9. Maven学习之 Settings

    虽然天天在用,但是没有系统的学习过,总觉得别扭. 只能用于Java项目. 约定: repository  翻译成 仓库 build 翻译成 构建 build system 翻译成 构建系统 build ...

  10. Maven学习遇到的第一个错误

    现在开始学习maven,我是在极客学院看的视频学习的,学习当然会遇到异常,下面是我遇到的第一个异常 [ERROR] Failed to execute goal org.apache.maven.pl ...

随机推荐

  1. JS的学习体会与分享

    最近在学习js这门计算机网络的新知识.相比与之前所学习的html和css这两门编程语言,js 还是有很多的不同之处,它相比于前两门知识还是有一定的难度和逻辑性的.今天跟大家分享一篇文章,希望能从中获得 ...

  2. HBase Cassandra Riak HyperTable

    Cassandra                                                              HBase 一致性 Quorum NRW策略 通过Goss ...

  3. IIS7配置asp网站

    An error occurred on the server when processing the URL. Please contact the system administrator. If ...

  4. WCF初探-13:WCF客户端为双工服务创建回调对象

    前言: 在WCF初探-5:WCF消息交换模式之双工通讯(Duplex)博文中,我讲解了双工通信服务的一个应用场景,即订阅和发布模式,这一篇,我将通过一个消息发送的例子讲解一下WCF客户端如何为双工服务 ...

  5. Deprecated: Function split() is deprecated in ... 解决办法

    本地测试的程序上传到服务器出现很多错误,Deprecated: Function split() is deprecated  查了原因是因为PHP的版本不同所导致的,本身程序开发的时候用的是PHP5 ...

  6. 跨域资源共享 CORS

    CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing). 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从 ...

  7. C# 顺序高斯(Gauss)消去法计算一元多次方程组

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. 2014年4月份第4周51Aspx源码发布详情

    精灵豆会员管理系统源码  2014-4-21 [VS2010]功能介绍:精灵豆会员管理系统业务管理平台采用微软选进的C#语言开发,采用大型数据库,具有比较高的执行效率和高安全性.系统分为消费管理,会员 ...

  9. Spark源码学习1.1——DAGScheduler.scala

    本文以Spark1.1.0版本为基础. 经过前一段时间的学习,基本上能够对Spark的工作流程有一个了解,但是具体的细节还是需要阅读源码,而且后续的科研过程中也肯定要修改源码的,所以最近开始Spark ...

  10. 或许是 Nginx 上配置 HTTP2 最实在的教程了

    导读 从 2015 年 5 月 14 日 HTTP/2 协议正式版的发布到现在已经快有一年了,越来越多的网站部署了 HTTP2,HTTP2 的广泛应用带来了更好的浏览体验,只要是 Modern 浏览器 ...