Maven是什么?

  Maven是Apache下的项目管理工具,它由纯Java语言开发,可以帮助我们更方便的管理和构建Java项目。

为什么要使用Maven?

  1、 jar包管理:

    a) 从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错误的jar包;

    b) 本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。

  2、 maven是跨平台的可以在window、linux上使用。

  3、 清晰的项目结构;

  4、 多工程开发,将模块拆分成若干工程,利于团队协作开发。

  5、 一键构建项目:使用命令可以对项目进行一键构建,操作系统中无需安装eclipse和tomcat。

  Learn

    一、Maven的获取地址

    二、 Maven的优点:

    三、 Maven常用命令:

    四、Maven命令的生命周期:

一、Maven的获取地址:  点我

  1、 下载、安装、配置环境变量Maven;

    a) http://maven.apache.org/download.cgi

    b) 安装JDK 1.8;

    c) 配置环境变量;

      i.win + r 打开运行窗口 或者 进入cmd命令窗口;

      ii.输入sysdm.cpl打开系统属性 -> 高级 -> 环境变量;

      iii.新建系统变量,变量名:MAVEN_HOME,变量值:Maven安装路径;  

      iii.在Path下追加一条属性指向Maven的bin目录 %MAVEN_HOME%/bin

  

二、 Maven的优点:

    a) jar包管理:依赖管理

      i.从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错误的jar包;

      ii.本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。

    

               (Maven项目获取jar包的方式)

      iii.Maven项目通过坐标的方式从本地仓库获取jar包;

        1.坐标:由公司/组织名(groupId) + 项目名/子项目名(artifactId) + 版本号(version)组成;

        2.本地仓库:存放很多jar包,供Maven项目使用;

        3.Maven通过建立本地仓库索引,可以快速的找到符合要求的jar包,从而解决效率问题;

        4.多个Maven项目都可以从本地仓库获取jar包;

        5.设置本地仓库:maven根目录 -> conf -> settings.xml,将localRepository标签中的路径替换成自己本地仓库的路径;

    

      iv.Maven三种仓库概念:本地仓库、远程仓库、中央仓库

    

            (Maven三种仓库概念)中央仓库地址

      v.设置阿里云Maven仓库镜像:

        1.在settings.xml文件中的mirrors下添加mirror标签;

<mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>
</mirror>

 

  

      b) maven由纯Java语言开发,是跨平台的可以在window、linux、mac上使用。

      c) 清晰的项目结构;

      d) 使用Maven将大型项目按照模块拆分成若干工程,不同的团队维护各自的工程,可大大的提升开发效率;

        i.大型商城项目按业务分成商品管理、用户管理、订单管理等等模块。

          

        ii.中小型项目按照传统项目分为Web、Service、Dao层,依照员工自身的业务能力分配工作。

          

    e) 一键构建项目:使用命令可以对项目进行一键构建,操作系统中无需安装eclipse和tomcat。

三、 Maven常用命令:

  启动Maven项目命令:mvn tomcat:run

  在Maven项目下输入tomcat:run:一键构建项目;

  

  

    a) clean: 清理,编译后的目录;

    b) compile: 编译,只编译main目录,不编译test中的代码;

    c) test-compile:编译test目录中的代码;

    d) test: 运行test里边的代码;

    e) package: 打包

      1.java项目->打成jar包;

      2.web项目->打成war包;

    f) install:发布项目到本地仓库,用在打jar包上,打成jar包可以被其他项目使用;

    g) tomcat:run:一键构建项目;

四、Maven命令的生命周期:  

  a) Clean 生命周期:clean;

  b) Default 生命周期:compile、test-compile、test、package、install

  c) Site 生命周期:site命令,生成项目描述文档静态页;

    i.mvn-site命令执行完成后可以进入target->size->index.html

  d) 不同的生命周期可以一起执行,例如先clean 再compile;

五、Maven命令的执行顺序:

  a) 在相同生命周期中的命令才会受执行顺序的影响;

  b) Default生命周期中的命令执行顺序:

    compile <- test-compile <- test <- package <- install;

Maven-项目管理(一)_认识Maven的更多相关文章

  1. maven实战(01)_搭建开发环境

    一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...

  2. maven项目管理利器

    一.maven介绍及环境搭建 maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建.报告和文档的软件项目管理工具. maven可以更有效的管理项目,也是一套功能强大的自动化管 ...

  3. Eclipse下安装及配置maven项目管理工具

    ①eclipse下maven插件安装. 本地maven安装.环境变量配置完成后,打开eclipse,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven ...

  4. maven(项目管理工具系列 maven 总结二)

    ♣maven是什么? ♣maven下载.安装 ♣了解maven仓库 ♣eclipse配置maven ♣创建maven项目 ♣把maven项目转化为web项目 1.maven是什么? Maven是一个项 ...

  5. Maven 项目管理工具基础知识系列(一)

    一.Maven 简介 Maven 中文意为 " 内行.专家 ",是 Apache 下的一个开源项目,属于纯 Java 开发,并且只是用来管理 Java项目的,它是一款项目管理工具, ...

  6. Maven 项目管理工具基础入门系列(二)

    一.前言 在 Maven 项目管理工具基础知识系列(一) 这篇文章中,我们已经初步了解了 Maven,也知道了使用 Maven 作为项目管理工具的好处,特别是已经知道如何快速通过 Maven 构建 W ...

  7. Maven项目管理工具

    Maven项目管理工具 白面郎君 Svn eclipse maven量级 1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目 ...

  8. 【转】【项目管理与构建】Maven

    在现实的企业中,以低成本.高效率.高质量的完成项目,不仅仅需要技术大牛,企业更加需要管理大牛,管理者只懂技术是远远不够的.当然,管理可以说有很多的方面,例如:对人员的管理,也有对项目的管理等等.如果你 ...

  9. 复习宝典之Maven项目管理

    查看更多宝典,请点击<金三银四,你的专属面试宝典> 第二章:Maven项目管理 Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配 ...

  10. Maven 项目管理 —— 安装与配置

    Maven 是一种全新的项目构建方式,基于项目对象模型(POM,Project Object Model)的思想,Maven 可以管理项目的整个生命周期,包括编译.构建(build).测试.发布以及报 ...

随机推荐

  1. mysql 8.x 集群出现:Last_IO_Error: error connecting to master 'repl@xxx:3306' - retry-time: 60 retries: 1

    网上的经验:网络不同,账号密码不对,密码太长,密码由 # 字符:检查MASTER_HOST,MASTER_USER,MASTER_PASSWORD(不知道 MASTER_LOG_FILE 有没有影响) ...

  2. c# winform 窗体间的传值

    1.父窗体传值给子窗体: 1) 父窗体: FrmXX frm = ,); frm.Owner = this; frm.ShowDialog(); 子窗体: ; public FrmXX(int ty, ...

  3. SQLite数据库_c/s架构的心得

    1.使用是Navicat Premium软件, Microsoft Windows版本. 2.选择SQLite并新建数据库: 3.将建好的SQLite数据库,放到新建的项目的debug文件下中, 并在 ...

  4. 空格 ACSII码 160 32

    ascii160和ascii32都表示空格,但是在IE里,160就不是显示空格,firefox里会显示空格,32不管是firefox里,还是IE里都显示空格.

  5. 斐波那契数列(js)

    //斐波那契数列:后一个数等于前面两个数的和 //0,1,1,2,3,5,8,13,21.... let readline = require("readline-sync"); ...

  6. kbmMemTable中怎么根据UniqueRecID定位到对应的记录

    function TForm5.LocateUniqueRecID(aDataSet: TkbmMWCustomClientQuery; AID: TkbmNativeInt): Boolean; v ...

  7. 分布式消息中间件之kafka设计思想及基本介绍(一)

    Kafka初探 场景->需求->解决方案->应用->原理 我该如何去设计消息中间件--借鉴/完善 场景 跨进程通信(进程间生产消费模型) 需求 基本需求 实现消息的发送和接收. ...

  8. redis整合Spring入门

    首先 衷心感谢这篇博客给我入门时的启发  三颗心脏 你需要知道,spring的官方文档中已经注明,与redis整合时,spring的jar包版本不能低于4.2.6,否则不支持,会报错的哟 测试的时候请 ...

  9. Hadoop_06_Hadoop的HDFS的概念和特性

    1.HDFS的概念和特性 1.1. 首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件 1.2. 它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色:重 ...

  10. jQuery获取表单全部数据

    iQuery如何获取表单的全部数据,用于ajax提交 var formData = {}; var t = $('#Form').serializeArray(); $.each(t, functio ...