之前听同学说过关于他们公司使用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 在命令提示符下,如下图输出结果:

  1. C:\Users\Administrator>mvn -version
  2. Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00)
  3. Maven home: D:\software\yiibai.com\apache-maven
  4. Java version: 1.8.0_40, vendor: Oracle Corporation
  5. Java home: D:\Program Files\Java\jdk1.8.0_40
  6. Default locale: zh_CN, platform encoding: GBK
  7. 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

  1. | This is a list of proxies which can be used on this machine to connect to the network.
  2. | Unless otherwise specified (by system property or command-line switch), the first proxy
  3. | specification in this list marked as active will be used.
  4. |-->
  5. <proxies>
  6. <!-- proxy
  7. | Specification for one proxy, to be used in connecting to the network.
  8. |
  9. <proxy>
  10. <id>optional</id>
  11. <active>true</active>
  12. <protocol>http</protocol>
  13. <username>proxyuser</</username>
  14. <password>proxypass</password>
  15. <host>proxy.host.net</host>
  16. <port>80</port>
  17. <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
  18. </proxy>
  19. -->
  20. </proxies>

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

  1. <!-- proxies
  2. | This is a list of proxies which can be used on this machine to connect to the network.
  3. | Unless otherwise specified (by system property or command-line switch), the first proxy
  4. | specification in this list marked as active will be used.
  5. |-->
  6. <proxies>
  7. <proxy>
  8. <id>optional</id>
  9. <active>true</active>
  10. <protocol>http</protocol>
  11. <username>yiibai</username>
  12. <password>password</password>
  13. <host>proxy.yiibai.com</host>
  14. <port>8888</port>
  15. <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
  16. </proxy>
  17. </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. 制作linux内核安装包

    实验基于Centos 6.2 升级linux内核 直接在一个有编译环境的设备上,编译升级内核很简单. make menuconfig 或者 拷贝现有系统的.config文件 修改.config文件  ...

  2. 跟着视频做的SSH项目总结

    一直没做过SSH(Struts2+Spring+Hibernate)的实际项目,只是三个框架学的还熟练,但整合起来使用就不知道了.所以前段时间在网上找了一套SSH实际项目的视频来学习(确切的说是买的. ...

  3. WCF初探-2:手动实现WCF程序

    1.前言 上一篇,我们通过VS自带的模板引擎自动生成了一个wcf程序,接下来我们将手动实现一个wcf程序.由于应用程序开发中一般都会涉及到大量的增删改查业务,所以这个程序将简单演示如何在wcf中构建简 ...

  4. iOS开发网络篇—监测网络状态

    iOS开发网络篇—监测网络状态 一.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行 ...

  5. 如何使用 Quagga BGP(边界网关协议)路由器来过滤 BGP 路由

    在之前的文章中,我们介绍了如何使用 Quagga 将 CentOS 服务器变成一个 BGP 路由器,也介绍了 BGP 对等体和前缀交换设置.在本教程中,我们将重点放在如何使用前缀列表prefix-li ...

  6. CTSC&&APIO 2015 酱油记

    在北京待了一周多,还是写点记录吧. 人民大学校园还是挺不错的,不过伙食差评. CTSC的题目太神,根本不会搞,一试20二试10分..本来都寄希望于提交答案题的..结果就悲剧了. 然后是听大爷们的论文答 ...

  7. Servlet路径跳转1---使用相对路径和绝对路径,在页面上调用servlet的路径写法(超链接的方式和表单的方式)

    课程1-13   http://www.imooc.com/video/5554 Servlet路径跳转: 绝对路径:放在任何地方都对的路径 相对路径:相对于当前资源的路径 index文件 加上/,表 ...

  8. Sql 注意点

    1. Set.Select赋值 使用SELECT语句来替代SET命令的主要优点是:可以在一个操作内同时给多个变量赋值.执行下面的SELECT语句,通过SELECT语句赋值的变量就可以用于任何操作了. ...

  9. 利用ClouderaManager启动HBase时,出现 master.TableNamespaceManager: Namespace table not found. Creating...

    1.错误描述: 出现上述这个错误的原因是我之前已经安装了Cloudera Manager中的CDH,其中添加了所有的服务,当然也包含HBase.然后重新安装的时候,就会出现如下错误: Failed t ...

  10. UVALive 7302 (最短路)

    Probelm Terrorists 题目大意 给一张n个点,m条边的无向图.共有q个询问,每次询问u到v的最短路. n <= 100000 ,  n-1 <= m <= n + 5 ...