0.什么是maven?

  • 它是一个软件开发管理工具,主要管理工作是:依赖管理,项目一键构建

1.我们为什么要使用maven?

  • 使用maven构建的项目不包含jar包文件,所以整个项目的体积非常小
  • maven工程不用手动导jar包,通过在pom.xml中定义坐标从maven仓库自动下载,方便且不易出错。

  • 项目一键构建:使用maven可以快速地对项目进行编译--测试--运行--打包--安装
  • maven的跨平台,可在window、linux上使用
  • maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,大公司都会考虑使用maven来构建项目。

2.maven的安装

  • maven的下载 : http://maven.apache.org/download.cgi
  • 下载后解压到一个地址,路径地址不包含地址
  • maven的环境变量配置 : 

    将 %MAVEN_HOME%/bin 加入环境变量 path 

  • 测试是否成功 在命令行中 输入
    mvn -v

3.maven仓库的配置  也就是当项目需要jar包的时候通过坐标去仓库寻找jar包

  • 仓库的分类

    • 本地仓库
    • 私服(公司的仓库)
    • 中央仓库
  • 本地仓库的配置
    • 编辑 apache-maven-3.3.9\conf 目录下settings.xml  增加节点  中间

      J:\maven\mavenwarehouse

      是你的本地仓库地址

      <localRepository>J:\maven\mavenwarehouse</localRepository>
  • ps:什么是本地仓库? 本地仓库是由个人将常用到的jar包放入一个仓库中 已备自己在项目中使用  可从网络上下载别人配置好的jar包仓库 仓库一般很大

4.maven项目的目录规范

5.maven的常用命令

  • 进入一个测试项目的目录 复制项目地址

    本地的一个测试项目的项目地址 J:\ecplisework\testmaven
    进入命令行 进入该目录

  • complile命令  compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下
    mvn compile

  • test命令 : test是maven工程的测试命令,会执行src/test/java下的单元测试类。 例如我现在由一个测试的方法输出"我现在测试啦..........."
  • clean 命令 :clean是maven工程的清理命令,执行 clean会删除target目录的内容。例如我现在清理掉刚才编译生成的target的目录
  • package 命令 : package是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。例如我现在将这个测试项目打成war包,提示打包成功,并且位置在target目录下

6.如何使用ecplise开发maven项目

  • 插件:现在的ecplise版本一般包含由maven插件,如果是低版本请按章m2e插件
  • 在ecplise中添加自己的maven
  • 告诉ecplise自己的本地仓库的位置 就是maven的配置文件地址
  • 构建索引
    • 打开maven窗口

      Window---show view ------other----------maven Repositories

    • 开始构建索引
  • 在ecplise创建一个maven项目
    • 选择 Maven Project
    • 点击next进入下面界面
    • 创建成功,但是报错,添加下面内容 手动添加WEB-INF和web.xml文件 因为一个标准的web项目必须包含这些内容
    • 在src/java/main创建一个servlet,但是又报错了
    • 要解决问题,就是要将servlet-api-xxx.jar包放进来,作为maven工程应当添加servlet的坐标,从而导入它的jar 直接打开helloworld工程的pom.xml文件,再添加坐标

      自己生成下面代码

    • 添加jar包的坐标时,还可以指定这个jar包将来的作用范围

    • 注意修改 下面几个选择provided 否则在发布的时候会和tomcat提供的又jar包冲突

 

Maven的使用入门的更多相关文章

  1. 转载maven安装,配置,入门

    转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://ww ...

  2. maven学习记录一——maven介绍及入门

    1       Maven的简介 1.1     什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 1.2     Maven好处 普通的传统项目 M ...

  3. Maven使用--基本入门

    maven学习(上)- 基本入门用法 转载自:https://www.cnblogs.com/yjmyzz/p/3495762.html 参考: http://www.cnblogs.com/dave ...

  4. appium + maven +jenkins 基本入门之二 新建maven 的java项目

    1: 下载maven : 1.0 :设置maven的环境变量: 1.1: 设置maven本地仓库: 在下载好的maven文件夹找到 apache-maven-3.3.9/conf 文件夹下的setti ...

  5. maven 教程一 入门

    摘要: (1)maven是项目管理工具,类似makefile.主要的生命阶段有 validate:验证工程是否正确,所有需要的资源是否可用.  compile:编译项目的源代码.    test:使用 ...

  6. Maven 结合 IDEA 入门实践

    一.Maven 基本安装 1. 下载 首先来到 http://maven.apache.org/download.cgi ,直接下载以 -bin.zip 结尾的文件,如图 2. 存储位置 将其解压后, ...

  7. IntelliJ IDEA下Maven SpringMVC+Mybatis入门搭建例子

    很久之前写了一篇SSH搭建例子,由于工作原因已经转到SpringMVC+Mybatis,就以之前SSH实现简单登陆的例子,总结看看SpringMVC+Mybatis怎么实现. Spring一开始是轻量 ...

  8. maven学习-基本入门用法

    一.下载及安装 1.1 下载maven 3.1.1 先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录(本 ...

  9. Maven笔记 #01# 入门

    索引 Maven是干什么的? 用Maven的好处 Maven与命令行 Maven与IntelliJ IDEA 一.Maven是干什么的? 我相信只要你写过足够多的代码,就... 肯定有思考过写一个脚本 ...

  10. Maven+eclipse快速入门

    1.eclipse下载 在无外网情况下,无法通过eclipse自带的help-install new software输入url来获取maven插件,因此可以用集成了maven插件的免安装eclips ...

随机推荐

  1. Spring IOC和AOP 基础

    1 spring中注入资源是通过描述来实现的,在 spring 中是通过注解或者 XML 描述.spring 中IOC 注入方式有三种 1)构造方法注入 2)setter 注入 3)接口注入 1.1) ...

  2. Informix 語法

    1.修改表名稱 RENAME TABLE old_table_name TO new_table_name; 2.分頁 select  SKIP 0 FIRST 1 * from tablename ...

  3. Q_PROPERTY介绍

    QT提供了一个成熟的属性系统,但是作为一个跨平台的且与编译器无关的库,qt不依赖于非标准的编译器功能例如 __property or [property]: QT的强大之处在于它可以支持任何标准的c+ ...

  4. 0x01 译文:Windows桌面应用Win32开发简介

    本节课将简单介绍下使用C++开发Windows桌面应用的一些基础知识 目录: 准备你的开发环境 Windows 代码规范 操作字符串 什么是一个Window? WinMain:程序的入口点 1. 准备 ...

  5. Atitit.分布式远程调用  rpc  rmi  CORBA的关系

    Atitit.分布式远程调用  rpc  rmi  CORBA的关系 1. 远程调用(包括rpc,rmi,rest)1 2. 分布式调用大体上就分为两类,RPC式的,REST式的1 3. RPC(远程 ...

  6. nodejs之util工具

    util是nodejs的一大核心模块,用来提供常用函数的集合 1.util.inherits(实现对象原型继承) 概要:js的继承是基于原型的,本身并没有继承的语言特性,仅仅是通过复制原型的方式来实现 ...

  7. 用C语言(apue)实现 把时间戳转换为国标格式的字符串(2017-07-17 22:36:12)的函数

    /*******************************************************************************/ /** *** 函 数 名: cha ...

  8. dp之01背包hdu2639(第k优解)

    http://acm.hdu.edu.cn/showproblem.php?pid=2639 题意:给出一行价值,一行体积,让你在v体积的范围内找出第k大的值.......(注意,不要 和它的第一题混 ...

  9. Tablespace for table '`pomelo`.`bag`' exists. Please DISCARD the tablespace before IMPORT.

    //遇到的问题是,删除数据库之后,重新创建数据库,在创建数据库表的时候,明明没有该表,却提示存在这个表.这是数据库缓存造成的 //解决方法 FLUSH TABLES; /* 安装MySql数据库(略) ...

  10. 已知问题汇总 (2013-11-30) - QQ空间, EXTJS

    目前发现两个已知问题暂时无法得到解决: 1. QQ空间问题. 打开页面 http://user.qzone.qq.com/822994792/311, 点击 "xxx人赞" 这个链 ...