以下是普通项目和maven项目 分别引入spring core模块的区别

1,假设我们有十个项目,都需要引入spring core模块,那么需要十份重复的Spring core.jar和commons-logging.jar

maven使用本地仓库存储 jar,所有项目都会共用仓库中的同一份jar

2,Spring core.jar必须同时引入版本兼容的commons-logging.jar,否则会报错。

maven不需要关心这些问题,会自动引入Spring core.jar所需的兼容版本jar

3,如果一个项目里面有100个jar,你不知道哪些jar是彼此关联的,哪些是互相排斥的,当需要升级版本,增加或删除一些jar,很

容易出各种问题

maven升级 jar,只需要把版本号3.x改成4.x,它会自动解决那些问题

管理jar只是maven的一个基本功能,它还有许多各种各样的功能便于管理项目,比如管理多模块协同开发,内置web server快速开发测试,连接控制远程服务器,自动上传部署项目,一键切换服务器环境等等

可以不使用maven的场景

如果你不愿意花时间学习maven,而且只想停留在初中级java水平,平时只用一些spring之类的大众技术,那么maven所有的功能都不是必需的,只要你不怕麻烦,你都可以用别的方法替代。

必须使用maven的场景

如果你是一个技术上有更高目标的人,那么就必须要会maven。因为当你达到一定水平,面对一些技术难度较高的需求 而无所适从时,你会发现在github上有大量的成熟解决方案专门针对你所遇到的各种疑难杂症,而且这些技术有不少都是在淘宝,京东等大型网站线上广泛使用的,这些网站的工程师同时也会到github上发布他们的开源技术。而github上的这些项目通常有一个共同的特点,都是maven项目,如果你不会maven,即使你下了这些技术,你也不知道怎么用

maven(一):是否有必要使用maven的更多相关文章

  1. Maven 入门 (2)—— 创建Maven项目

    http://blog.csdn.net/kakashi8841/article/details/17427043 读这篇文章之前请先确保你成功安装了maven,如果你还没安装成功,请先看:Maven ...

  2. Maven学习笔记(1)之安装Maven

    此笔记是学习Maven时自己摸索+各种百度而来,并非全部原创,望与各位一同学习,勿拍~勿拍~ 安装步骤 1.下载Maven的最新版本,地址:http://maven.apache.org/downlo ...

  3. Maven学习(一) -- 安装Maven及Eclipse中配置Maven

    标签(空格分隔): 学习笔记 本文环境:Windows7, JDK1.7.0_76 安装及配置Maven环境变量 需要电脑中已经有Java环境 在控制台中输入:echo %JAVA_HOME%看是否能 ...

  4. 学习笔记——Maven实战(四)基于Maven的持续集成实践

    Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...

  5. 学习笔记——Maven实战(七)常用Maven插件介绍(上)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了 ...

  6. 学习笔记——Maven实战(八)常用Maven插件介绍(下)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...

  7. Maven使用笔记(七)Maven使用问题记录

    1.Java-maven异常-cannot be cast to javax.servlet.Filter 报错 tomcat 启动后先将tomcat/lib目录下的jar包全部读入内存,如果weba ...

  8. Maven使用笔记(一)Maven安装及常用命令

    1.Windows下安装Maven 首先去下载Maven安装包,http://maven.apache.org/download.cgi,目前最新版本是 Maven 3.2.3 . 解压到本地,可以看 ...

  9. 活用maven使web.xml可以用maven变量

    活用maven使web.xml可以用maven变量 废话不多说,直接上代码 <build> <finalName>${finalWarName}</finalName&g ...

  10. idea maven web工程明明添加了maven lib的依赖,但启动web容器时始终报No Class Found?

    idea maven web工程明明添加了maven lib的依赖,但启动web容器时始终报No Class Found? 很久没用idea搭新工程,最近自己想做个东西,冲心搭个web工程,jar包都 ...

随机推荐

  1. 推荐一个实用的 .gitignore 文件

    为什么要忽略文件? 常用的版本控制工具,不管是使用 git 还是 svn,我们都需要排除一些与程序代码无关的文件,如像 eclipse/ intellij idea 等 IDE 工具留下来的 .set ...

  2. Python--Click

    Click Click 是 Flask 的开发团队 Pallets 的另一款开源项目,它是用于快速创建命令行的第三方模块. 我们知道,Python 内置了一个 Argparse 的标准库用于创建命令行 ...

  3. 2-1 编写HelloWorld

    引用外部的vue.js文件

  4. Ubuntu18.04 下修改 root密码

    首先打开终端输入命令 sudo passwd root 然后依次是当前用户密码,将要设置root密码,确认root密码.切换root看一下 备注: #符号 是系统用户 root$符号 是你创建的用户 ...

  5. postgresql 表继承

    可以按如下语句创建表 CREATE TABLE capitals ( name text, population real, altitude int, -- (in ft) state ) ); C ...

  6. 用RIPv2实现网络区域的互通

    1.动态路由的分类: DV协议:距离矢量协议 距离矢量:路由器只能够知道邻居路由的信息 LS协议:链路状态协议 链路状态:路由器能够知道所在协议内的所有信息 RIP协议的全程是:路由信息协议(DV协议 ...

  7. Solidity中uint转string

    在<Solidity中uint转bytes>中,我们知道unit如何转换成bytes,其实把uint转换成string,就是在最后加上string(bytes变量)即可,如下所示: pra ...

  8. 【awesome-dotnet-core-learning】(2)-Sprache.Calc-表达式计算器

    [awesome-dotnet-core-learning](2)-Sprache.Calc-表达式计算器 示例代码托管在GITHUB上, 欢迎STAR! 严格来说, Sprache.Calc只是上一 ...

  9. Linux 源码安装 FFmpeg

    加班次数频繁,已经快一年没有写博了.由于此次在项目中使用到了 FFmpeg 来处理音视频,顾记录下在 Linux 系统中源码安装 FFmpeg 以便不时之需. 1. 安装 yasm yasm 是一个汇 ...

  10. Java提高篇之理解java的三大特性——继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...