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. ubuntu获取root权限

    1.先在Terminal下设置root密码 执行 sudo passwd root 2.执行sudo su,然后根据提示来即可.

  2. Atitit.部分错误 设计模式,异常处理框架atiPartErr 的总结

    Atitit.部分错误 设计模式,异常处理框架atiPartErr 的总结 1. 流程图 1 2. Java 类关系结构图片 1 3. 错误信息结构 1 4. 调用 2 4.1. 收集错误信息 3 4 ...

  3. C++11新特性实验

    #include <iostream> #include <vector> #include <map> #include <string> #incl ...

  4. int、char、long各占多少字节数

    Java基本类型占用的字节数:1字节: byte , boolean2字节: short , char4字节: int , float8字节: long , double 编码与中文:Unicode/ ...

  5. dbrd 8.4.6 源代码编译安装

    ---------------------------- 0.系统环境 ---------------------------- db01 192.168.50.10 /dev/sdb1 主节点 db ...

  6. 进程控制函数(2)-setpgid() 修改当前进程的进程组ID

    定义:int setpgid(pid_t pid,pid_t pgid); 表头文件:#include<unistd.h> 说明:setpgid()将参数pid 指定进程所属的组识别码设为 ...

  7. Qt学习过程中遇到的问题

    由于工作需要,开始使用Qt,由于在网上找的教程文档时针对qt3的,所以在学习的过程遇到了许多由于版本不一致造成的问题,因此记录下来. 参考的文档是:Qt入门教程 详细讲解版 本机Qt版本为:Qt5.3 ...

  8. 【转】Linux中多线程wait使用注意

    使用管道生成的while,是无法进行并发管理的 在处理日志的时候,采用管道多线程,怎么都实现不了wait功能,经上篇文章才知道,使用管道生成的while,无法进行并发管理. while read qu ...

  9. 深入学习HttpClient(一)扩展额外的功能

    HttpClient作为.net4.5新增的Http库除了对于async/await形式的异步支持外,还向我们展示了其强大的扩展能力. [类库的设计] 让我们先看下Httpclient的设计图: 图中 ...

  10. OpenCV使用标定图

    本文由 @lonelyrains 出品,转载请注明出处.  文章链接: http://blog.csdn.net/lonelyrains/article/details/46915705 上一步生成标 ...