Maven的作用是什么

现在我们开发的项目基本上都是maven项目,maven项目也是一个项目,类似于javaProject,javaWebProject,就是多了些功能。

那就说说究竟多了什么功能呢。

1 . 帮你下载jar包

maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地的到处搜索你需要的jar包了  下面是示范配置文件pom.xml

<?xml version="1.0" encoding="utf-8"?>

<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自动下载下来。 

例如: 你配置了

<?xml version="1.0" encoding="utf-8"?>

<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就会自动的帮你下载你说依赖的包。 这就是maven第二个作用,帮你下载依赖包。

3 . 热部署,热编译

意思就是,在你web项目已经运行的时候,修改代码的能直接被web服务器所接受,就不需要你 重启服务器了,或者重新部署代码了,而且你可以直接通过maven 打包war或者jar项目。

简述了上面这三个主要的功能外。如果大家想要深入学习maven的话。我推荐的书是《maven实战》。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

收藏 | Linux常用156个命令汇总!

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的...

1782
来自专栏数据派THU

收藏 | Linux常用156个命令汇总!

来源:机器学习算法与Python学习 本文为大家带来Linux系统中156个常用的命令。 linux命令是对Linux系统进行管理的命令。对于Linux系统来说...

51212
来自专栏玩转JavaEE

Spring Cloud Config服务端配置细节(一)

上篇文章我们看了Spring Cloud中分布式配置中心的一个基本使用,这里边还涉及到许多细节,本文我们就来看看服务端配置中的一些细节。 ---- 我们先通过下...

3605
来自专栏Young Dreamer

httpd配置ResponseHeader

  今天遇到一个问题:我把项目编译后的静态文件发布到开发机上,开发机使用httpd启的静态文件服务,页面的访问是在特制的壳浏览器里面,我更新了代码后,发现页面被...

2147
来自专栏影子

idea/eclipse下Maven工程集成web服务(tomcat、jetty)

转载请注明出处:http://www.cnblogs.com/funnyzpc/p/8093554.html

1242
来自专栏Java学习123

IBM Websphere Message Broker(MB) 教程系列-(1) 在Fedora

37610
来自专栏Brian

Install Django Nginx uWSGI

概述 最近项目需要安装和配置多站点环境,所以把多站点开发环境配置和安装记录下来,帮助其他人少走坑。 安装Python 2.7.x 首先安装一些开发环境基本的包和...

3909
来自专栏程序员互动联盟

【编程基础】linux常用命令介绍(一)

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecod...

41611
来自专栏影子

idea/eclipse下Maven工程集成web服务(tomcat、jetty)

1352
来自专栏木子昭的博客

将Python程序(.py)转换为Windows可执行文件(.exe)第四步:运行测试

python开发者向普通windows用户分享程序,要给程序加图形化的界面(传送门:这可能是最好玩的python GUI入门实例! http://www.jia...

36110

扫码关注云+社区

领取腾讯云代金券