一篇文章带你初步认识Maven

作者:YSOcean 时间:2023-08-31 01:56:14 

1、引言

你能搜到这个教程,说明你对 Maven 感兴趣,但是又不是太理解。那么接下来这个系列的教程将会详细讲解 Maven 的用法,相信你看完之后,一定能对 Maven 的理解更进一步!

2、常规项目开发存在的问题

通常Web项目开发只会创建一个工程,然后所有的jar包都会存放到 WEB-INF/lib 目录下,如下图所示:

一篇文章带你初步认识Maven

通过上面的目录结构我们可以分析出如下问题:

①、一个项目就是一个web工程。如果项目比较庞大,那么利用包名package来划分模块,显然容易造成混淆而且不利于分工合作;

②、项目中需要的 jar 包必须手动 复制,粘贴 到 WEB-INF/lib 目录下。这会导致每创建一个新的工程就需要将 jar 包重复复制到 lib 目录下,从而造成工作区存在大量重复的文件;

③、jar需要我们手动去官网上或者其他途径下载;

④、一个 jar 包依赖的其他 jar 包,需要自己手动加入到项目中,而且很有可能我们漏掉了某个依赖关系,导致项目运行报错。

那么如何解决这些问题呢?本系列的主角 Maven 应运而生了。

3、什么是 Maven ?

Maven 读音是[ˈmevən],也就是“霉文”,而不是读“马文”。它是一个项目管理和综合工具,Maven使用标准的目录结构和默认构建生命周期。提供了开发人员构建一个完整的生命周期框架,开发团队可以自动完成该项目的基础设施建设。相信如果对 Maven 没有任何了解的,看了这段话等于没看,不过没关系,后面我们将会逐渐揭开 Maven 的神秘面纱。什么是 Maven,你只需要知道这玩意能简化和标准化项目建设过程。

4、Maven 的历史

Maven的最初设计,以简化Jakarta Turbine项目的建设进程。有几个项目,每个项目包含了稍微不同的Ant构建文件。 JAR中检查到CVS。Apache组织开发的Maven可以建立多个项目,发布项目信息,项目部署。

5、Maven 的目标

Maven主要目标是提供开发人员

①、项目是可重复使用,易维护,更容易理解的一个综合模型。

②、插件或交互的工具,这种声明性的模式。

Maven项目的结构和内容是在一个XML文件中声明,pom.xml的项目对象模型(POM),这是整个Maven系统的基本单元。

6、Maven 的理念

约定优于配置!!!

开发人员不需要创建构建过程本身,不必知道提到的每一个配置的详细信息。Maven提供了合理的默认行为的项目。创建一个Maven项目时,Maven创建默认的项目结构。开发者只需要把相应的文件和她需要在pom.xml中定义即可。

来源:https://www.cnblogs.com/ysocean/p/7402385.html

标签:Maven,入门
0
投稿

猜你喜欢

  • 关于C#连接SQL Server时提示用户登录失败的解决方法

    2021-10-03 21:21:58
  • Android数据存储方式操作模式解析

    2023-07-27 02:47:05
  • c# 使用模式匹配以及 is 和 as 运算符安全地进行强制转换

    2022-11-23 09:47:51
  • C#将配置文件appsetting中的值转换为动态对象调用

    2023-11-28 01:29:53
  • 获取Android签名证书的公钥和私钥的简单实例

    2022-10-02 22:20:13
  • android手机获取唯一标识的方法

    2022-05-28 19:24:38
  • C#实现扫描枪扫描二维码并打印(实例代码)

    2023-02-26 18:02:56
  • Android 自定义view和属性动画实现充电进度条效果

    2023-08-24 00:18:37
  • 基于静态Singleton模式的使用介绍

    2022-09-13 20:11:08
  • c#中的扩展方法学习笔记

    2023-04-11 10:29:15
  • Spring中自定义数据类型转换的方法详解

    2022-10-09 02:56:51
  • C#实现简单的聊天窗体

    2022-11-09 03:25:13
  • Android实现网络多线程断点续传下载功能

    2021-05-29 18:22:24
  • 通过Java实现bash命令过程解析

    2023-01-07 17:38:25
  • Android中Bitmap用法实例分析

    2023-03-21 11:06:31
  • c# 网址压缩简单实现短网址

    2022-10-06 15:37:17
  • 通过spring注解开发,简单测试单例和多例区别

    2023-11-06 09:18:31
  • 解决C#中WebBrowser的DocumentCompleted事件不执行的实现方法

    2021-07-07 22:59:06
  • C#将制定目录文件名转换成大写的方法

    2022-10-03 19:46:36
  • SpringCloud 微服务最佳开发实践

    2022-02-06 10:07:45
  • asp之家 软件编程 m.aspxhome.com