`

maven学习之maven带给了我们什么

阅读更多
maven带给了我们:

1、maven抽象了一个完整的对象生命周期模型。对大部分的生命周期或者可以说成是构建任

务都提供了已实现的插件,例如maven-clean-plugin插件绑定的生命周期模型的clean阶

段,对象生命周期模型的具体内容还有相应的插件会在后续有介绍。

2、maven标准化了构建过程。利用统一的对象生命周期模型还有相应的插件,标准化构建过

程。想象过去用ant的时候,十个项目估计有十种写法,造成了学习成本的提高。现在有了标

准化的构建过程,利用简单的一个maven命令就能调用这个标准的构建过程,学习成本相对比

较低。

3、maven对项目管理的帮助。maven能很方便生成测试报告、发布项目站点。对项目的管理

人员对项目的整体把握提供帮助。

4、maven提供了基于文件系统的中央仓库并且会生成本地仓库。当然也可以配置一个局域网

内的仓库代替这个中央仓库,毕竟maven提供的中央仓库的服务器在国外,国内的用户要是在

上面下载依赖的jar包还是相对比较慢的

5、maven提供了基于中央仓库以及本地仓库的依赖管理。在没有maven之前,在项目开发之

前,要是用到哪个jar包就去官网上或者其他的地方下载,然后引入,每个项目都是如此,造

成了jar包的冗余,而且在去下载这些jar包的时候真是既费力又费时,现在有了maven,只

需在pom文件中增加依赖(dependency)即可,在项目编译打包的时候,maven会自动引入这

些jar包,并将这些jar包置于项目的lib文件夹下。

在这里再提maven和ant的对比

1、maven就像一个品牌pc。ant像是一个组装机。(备注:ant是另外一个整洁工具的意

思,不是蚂蚁)。maven提供标准化的构建过程(备注:这个标准化的构建过程是利用模板模

式做的,有兴趣的同学可以研究一下设计模式,挺有意思的)。这个标准化的构建过程就像是

品牌pc的生产线一样,这样的生产线生产出的产品稳定性可靠性都有保证。ant呢就像是一个

组装机,这拼一点,那拼一点,稳定性可靠性不足。本人大学的时候就组装了一台电脑,这台

电脑在使用过程中真是问题百出,另我非常痛苦。既然有了maven这样的工具,建议大家还是

早点投向maven的怀抱吧。还有一点,ant构建脚本,你这个项目会写一个,另外一个你还会

写一个,这样的重复工作我看就免了吧,重复发明轮子的做法不可取。所以,选择maven才是

王道(个人看法而已)


熬夜又写了一点,请各位看官轻拍,多多支持..........
分享到:
评论
1 楼 wy277737174 2013-07-12  
佩服啊,我是从你的spring文章进来的,那篇文章得知你工作一年了,不由的佩服啊,话说我也工作两年了。我对这些知识还只处于朦胧理解阶段,哎,继续努力,以后多多交流哈。

相关推荐

    J-JSON-NLP:Java JSON-NLP Maven模块和验证器

    Java Maven模块和验证器。 由带给您。 介绍 越来越多的自然语言处理(NLP)工具,模块,管道。 似乎对于输出格式没有任何标准。 在这里,我们着重于输出格式语法的标准。 将来的版本可能也会解决输出语义。 是NLP...

    ANTLR4-Plugins-for-NetBeans:用于ANTLR 4的NetBeans插件,可将ANTLR语法文件集成到标准NetBeans项目(基于Ant或基于Maven)中

    ANTLR4-用于NetBeans的插件 用于ANTLR 4的NetBeans插件,可以将ANTLR语法文件集成到标准NetBeans项目(基于Ant或基于Maven)中。 您可以在查阅ANTLR文档。... 它应该弄清楚这个插件可以带给您什么(例如,使用

    springboot mybatis springmvc整合实例.docx

    springboot带给我们的恰恰是“零配置”,"零配置"不等于什么也不配置,只是说相对于传统的ssm框架的xml配置或是注解配置,要少的多。作为常规的来说,一个ssm框架整合,拿maven来说,首先在src/main/resource下加入...

    基于Spring Boot+Vue的疗养院管理系统的设计与实现

    "疗养院管理系统 - 基于SpringBoot的全栈开发项目 ...无论你是Java新手还是有经验的开发者,这个项目都能带给你宝贵的学习经验。它涵盖了从数据库设计到前端界面的全过程,为你提供一站式的全栈开发体验。

    基于springboot开发的校园博客系统源码、讲解视频,附带论文哦

    Maven包:Maven 浏览器:谷歌浏览器 校园博客系统是对文章信息发展的一种支持手段,传统的校园博客系统模式还处于线下管理阶段,管理效率极低。随着校园博客系统信息的不断增多,传统基于线下管理模式已经无法满足...

    yGuard:yWorks与Ant和Gradle一起使用的开源Java模糊处理工具-绘图专家

    yGuard是由带给您的, 是和其他高级的图形和图表可视化框架系列的创建者。 获取yGuard 可以从GitHub下载最新的yGuard版本,或直接从Maven yGuard使用。 以前的版本仍可以从下载。 用法 本文档的在线版本。 另外...

    fettuccine-alfresco-aio:Alfresco Summit 2014 "Fettuccine Alfresco" SDK 演示项目

    "Fettuccine Alfresco"这个项目名称可能寓含了一种轻松、创新的氛围,正如意大利细面条(Fettuccine)带给人们的享受一样,希望开发者在使用Alfresco SDK时也能体验到愉快的开发过程。该项目的"aio"部分可能代表"All...

    手写springboot

    《手写SpringBoot:探索与实践》 SpringBoot作为Java领域的一款热门框架,因其便捷的启动方式、自动配置特性以及对微服务的支持,受到了广大...在实践中成长,在成长中进步,这就是手写SpringBoot带给我们的最大价值。

    Java夜未眠.程序员的心声

    Java,这个全球最广泛使用的编程语言之一,是无数程序员的心头好,也是许多技术爱好者夜深人静时...通过深入阅读和实践,我们不仅能提升技术能力,还能体会到那份编程的乐趣和成就感,这就是Java带给我们的无尽魅力。

    springDM-work.zip

    使用SpringMVC分层开发思维结合SpringData的使用注解增删改查语句,通过导入jar包的方式来完成项目,本来准备用maven,可是有点语法问题就没用了。所以这个独立完成的小项目带给了自己很多的收获,加油。

    GameTank:快乐的

    "GameTank"这个名字,我们可以想象它是一款以坦克为主题的快乐游戏,旨在带给玩家愉悦的游戏体验。游戏开发是一个综合性的过程,涉及到编程、设计、艺术和音效等多个方面,而在这个项目中,开发者选择了Java作为主要...

    Java_基于Forge的Minecraft的Neo Modding API.zip

    总之,"Java_基于Forge的Minecraft的Neo Modding API.zip" 是一个致力于改进 Minecraft 模组开发体验的工具集,通过 Neo Forge,开发者可以更高效地创建出丰富的游戏内容,带给 Minecraft 玩家更多的乐趣。...

    spring-practice:春天!

    在这个"spring-practice"项目中,我们可以期待学习到如何在实际应用中运用Spring框架。 Spring框架主要包含以下几个关键模块: 1. **核心容器(Core Container)**:这是Spring的基础,包括Bean工厂(BeanFactory)...

    mraa_hpp2ts_generator:为 mraa hpp 标头创建一个生成器以创建打字稿标头

    建造使用maven构建,生成的jar包含必要的依赖mvn packagejava -cp target/hpp2ts-0.0.1.jar eu.heads.project.ts.CPPHeaderScanner /home/barais/git/mraa/api/mraa/ mraa.d.ts # mraa_api_folder destfile.d.ts ...

    atm源码java-ATM-Clone:这是ATM的副本。使用Java(Swing&GUI)和我最好的设计制作而成,它将带给您ATM的真实感觉

    9. **构建工具**:可能使用Maven或Gradle这样的构建工具自动化构建、依赖管理和打包过程。 通过研究这个开源项目,你不仅可以提升Java编程技能,还能了解到软件工程的实践,包括代码组织、文档编写、测试策略以及...

    DarkWars

    作为一款以“Dark”为主题的游戏,它很可能包含了一些策略、冒险或者角色扮演的元素,带给玩家深入黑暗世界的体验。由于是用Java语言编写,我们可以深入探讨Java在游戏开发中的应用以及该项目可能涉及的技术栈。 ...

    Java077Part1:诅咒的同一个项目

    这个项目的命名或许是为了形象地表示它带给开发者的困扰。在这个项目中,开发者可能会遇到各种各样的问题,比如代码维护、性能优化、bug修复等。下面我们将深入探讨Java开发过程中的一些常见知识点,这些知识可能与...

    PowerCmd工具

    **PowerCmd工具详解** 在Windows操作系统中,命令提示符(CMD)是系统提供的一种命令行接口,用于执行各种系统操作和脚本。...如果你经常使用CMD,不妨尝试一下PowerCmd,相信它能带给你不一样的惊喜。

    spring

    在这个目录下,我们可能会找到如pom.xml(Maven项目)或build.gradle(Gradle项目)的构建文件,以及src/main/resources下的配置文件,如application.properties或application.yml,这些文件用于定义应用的环境变量...

    bereal.mc.generic:测试我的世界模组

    《深入解析“bereal.mc.generic”:我的世界模组开发之旅》 在充满无限可能的虚拟世界《我的世界》中,...通过学习和研究这样的模组,我们可以进一步领略到编程与游戏创作的融合魅力,为自己的虚拟世界增添更多色彩。

Global site tag (gtag.js) - Google Analytics