Maven介绍

一.Maven介绍

1.Maven概述

Maven是项目进行模型抽象,充分运用的面向对象的思想,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。

==Maven是由Apache开发的一个工具。==用来管理java项目(依赖(jar)管理, 项目构建, 分模块开发 ).

2.2Maven的作用

  • 依赖管理: maven对项目的第三方构件(jar包)进行统一管理。向工程中加入jar包不要手工从其它地方拷贝,通过maven定义jar包的坐标,自动从maven仓库中去下载到工程中。

  • 项目构建: maven提供一套对项目生命周期管理的标准,开发人员、和测试人员统一使用maven进行项目构建。项目生命周期管理:编译、测试、打包、部署、运行。

  • maven对工程分模块构建,提高开发效率。

二.Maven仓库和坐标

1.Maven的仓库

仓库名称作用
本地仓库相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找。
中央仓库仓库中jar由专业团队(maven团队)统一维护。中央仓库的地址:http://repo1.maven.org/maven2/
远程仓库在公司内部架设一台私服,其它公司架设一台仓库,对外公开。(后面Maven高级会涉及)

2.Maven的坐标

Maven的一个核心的作用就是管理项目的依赖,引入我们所需的各种jar包等。为了能自动化的解析任何一个Java构件,Maven必须将这些Jar包或者其他资源进行唯一标识,这是管理项目的依赖的基础,也就是我们要说的坐标。包括我们自己开发的项目,也是要通过坐标进行唯一标识的,这样才能才其它项目中进行依赖引用。坐标的定义元素如下:

  • groupId:项目组织唯一的标识符,实际对应JAVA的包的结构 (一般写公司的组织名称 eg:com.itheima,com.alibaba)
  • artifactId: 项目的名称
  • version:定义项目的当前版本

例如:要引入druid,只需要在pom.xml配置文件中配置引入druid的坐标即可:

<!--druid连接池-->
<dependency>
  <groupId>com.alibaba</groupId>  
  <artifactId>druid</artifactId>    
  <version>1.0.9</version>  
</dependency>

三.Maven的常用命令

  1. 命令作用
  • clean: 清除target里面的内容 一般用来清缓存
  • compile: 编译
  • test: 执行test里面的所有的单元测试
  • package: 打包; javase–>jar, javaweb–>war
  • install: 打包安装到本地仓库
  1. 生命周期
    当我们执行了install 也会执行compile test package

四.依赖管理和插件

1.导入依赖

导入依赖坐标,无需手动导入jar包就可以引入jar。在pom.xml中使用标签引入依赖。

去Maven官网找, 赋值,粘贴. http://mvnrepository.com/

2. 依赖范围

在这里插入图片描述

  • compile 编译、测试、运行,A在编译时依赖B,并且在测试和运行时也依赖
    例如:strus-core、spring-beans, C3P0,Druid。打到war包或jar包

  • provided 编译、和测试有效,A在编译和测试时需要B
    例如:servlet-api就是编译和测试有用,在运行时不用(tomcat容器已提供)
    不会打到war

  • runtime:测试运行有效,
    例如:jdbc驱动包 ,在开发代码中针对java的jdbc接口开发,编译不用
    在运行和测试时需要通过jdbc驱动包(mysql驱动)连接数据库,需要的
    会打到war

  • test:只是测试有效,只在单元测试类中用
    例如:junit
    不会打到war

  • 按照依赖强度,由强到弱来排序:
    compile> provided> runtime> test

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值