Maven的作用到底是什么
1 . 帮你下载jar包
maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地的到处搜索你需要的jar包了
下面是示范配置文件pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>exam</groupId> <artifactId>exam_3</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.0.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.0.5.RELEASE</version> </dependency> </dependencies> </project>
以上主要看的<dependencies>
结点里面的内容,
里面每配置一个<dependency>
, <groupId>org.springframework</groupId>
项目名 <artifactId>spring-webmvc</artifactId>
项目模块 <version>3.0.5.RELEASE</version>
项目版本
maven都会通过,项目名-项目模块-项目版本来maven在互联网上的代码库中下载相应jar包。
所以这就是maven的功能之一,帮你下载jar包
2 . 寻找依赖,帮你下载依赖
寻找jar包是第一基本功能,寻找依赖在这个是在这个基础上的功能。
在maven的代码库中,每一个jar包也有自己的 pom.xml文件,而这个文件里面也会有<dependency>
配置,什么依赖范围我就不细说了,我想表达的就是,只要你配置的jar包所依赖的其他jar包都会被maven自动下载下来。
例如: 你配置了
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>2.6</version> </dependency>
你要maven帮你下载spring-core-2.6.jar包
而这个jar包里面需要用到commons-logging.jar这个包,
这叫就依赖,spring-core-2.6.jar依赖于commons-logging.jar。
这就是maven第二个作用,帮你下载依赖包。
3 . 热部署,热编译
意思就是,在你web项目已经运行的时候,修改代码的能直接被web服务器所接受,就不需要你 重启服务器了,或者重新部署代码了,而且你可以直接通过maven 打包war或者jar项目。
我就是大概说了一下maven 的基本作用,里面还有更详细的,想要了解的话,我是看这本书学的《Maven实战》这本书学的,这里分享一下免费电子版,感谢作者
http://www.infoq.com/cn/minibooks/maven-in-action
最新文章
- android之费电检查 BetterBatteryStats
- Windows Server 2012 (2008) 忘记密码重置方法 Windows 10 忘记密码
- c#中@符号作用
- 遇到autoreconf: not found
- CSS3阴影 box-shadow的使用
- CORS跨域资源共享
- linux_Mysql导入数据基本操作
- C#图解教程 第二十章 异步编程
- Beta阶段敏捷冲刺报告-DAY3
- 比较python类的两个instance(对象) 是否相等
- BZOJ.3944.Sum(Min_25筛)
- 关于用tesseract和tesserocr识别图片的一个问题
- matlab函数拟合
- 【Game】2048小游戏
- 使用instantclient_11_2 和PL/SQL Developer工具包连接oracle 11g远程数据库(转)
- PHP:第一章——PHP中的算术运算符/递增、递减运算符/赋值运算符
- Python中的匿名函数lambda的用法
- Unity骨骼动力学应用
- 【P2447 [SDOI2010]外星千足虫】 题解
- WPF制作的小时钟
热门文章
- H5 限制input只能输入数字
- bzoj 2093 [Poi2010]Frog——滑动窗口
- ViewModel中C# Property自动添加OnPropertyChanged处理的小工具, 以及相应Python知识点
- poj 2000 Gold Coins(水题)
- JavaScript-Tool:pluload
- 自己写的一个多应用程序多目录的Makefile
- php命名空间(namespace)内如何使用系统类
- Javascript作用域和变量提升
- 【eclipse】Eclipse安装插件支持jQ…
- R: 时间处理(R自带函数)