Maven-配置

Maven是一款自动化构建工具,专注于Java平台的项目构建和依赖管理。它简化了添加第三方jar包、处理依赖关系和jar包冲突的问题。通过配置,Maven能实现项目拆分、分布式部署,并提供了一套统一的构建和依赖管理机制。Maven的构建流程包括clean、compile、test、site、package、install和deploy等环节,通过POM、约定的目录结构、依赖管理、仓库管理和插件系统等核心概念实现自动化构建。
摘要由CSDN通过智能技术生成

一、为什么使用Maven

即使不使用Maven我们仍然可以进行B/S结构项目的开发。从表述层、业务逻辑层到持久化层再到数据库都有成熟的解决方案——不使用Maven我们一样可以开发项目。

1.1 添加啊第三方jar包

使用Maven后每个jar包只在本地仓库中保存一份,需要jar包的工程只需要维护一个文本形式的jar包的引用——我们称之为“坐标”。不仅极大的节约了存储空间,让项目更轻巧,更避免了重复文件太多而造成的混乱。

1.2 jar包之间的依赖关系

引入Maven后,Maven就可以替我们自动的将当前jar包所依赖的其他所有jar包全部导入进来,无需人工参与,节约了我们大量的时间和精力。用实际例子来说明就是:通过Maven导入commons-fileupload-1.3.jar后,commons-io-2.0.1.jar会被自动导入,程序员不必了解这个依赖关系。

1.3 处理jar包冲突

在这里插入图片描述

如上图所示,MakeFriend依赖HelloFriend,HelloFriend依赖Hello,Hello依赖log4j.1.2.17.jar,HelloFriend依赖log4j.1.2.14.jar。那么MakeFriend应该导入那个版本的log4j呢
使用Maven就可以自动的处理jar包之间的冲突问题。因为Maven中内置了两条依赖原则:最短路径者优先和先声明者优先,上述问题MakeFriend工程会自动使用log4j.1.2.14.jar。

1.4 获取第三方jar包

使用Maven我们可以享受到一个完全统一规范的jar包管理体系。你只需要在你的项目中以坐标的方式依赖一个jar包,Maven就会自动从中央仓库进行下载,并同时下载这个jar包所依赖的其他jar包——规范、完整、准确!一次性解决所有问题!

1.5 将项目拆分为多个工程模块

在这里插入图片描述

使用Maven的依赖管理机制,上层模块依赖下层,所以下层模块中定义的API都可以为上层所调用和访问

1.6 实战项目的分布式部署

在这里插入图片描述

在实际生产环境中,项目规模增加到一定程度后,可能每个模块都需要运行在独立的服务器上,我们称之为分布式部署,这里同样需要用到Maven。

二、Maven是什么

在这里插入图片描述

2.1 自动构建工具

  1. Maven这个单词的本意是:专家,内行。读音是['meɪv(ə)n]或['mevn],不要读作“妈文”。
  2. Maven是一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。在JavaEE开发的历
    史上构建工具的发展也经历了一系列的演化和变迁:
    Make→Ant→Maven→Gradle→其他……

2.2 构建的概念

  1. 构建并不是创建,创建一个工程并不等于构建一个项目。
  2. 纯Java代码:Java是一门编译型语言,.java扩展名的源文件需要编译成.class扩展名的字节码文件才能够执行。所以编写任何Java代码想要执行的话就必须经过编译得到对应的.class文件。
  3. Web工程:我们需要通过浏览器访问Java程序时就必须将包含Java程序的Web工程编译的结果“拿”到服务器上的指定目录下,并启动服务器才行。这个“拿”的过程我们叫部署。可以将未编译的Web工程比喻为一只生的鸡,编译好的Web工程是一只煮熟的鸡,编译部署的过程就是将鸡炖熟。
  4. 实际项目:实际项目中整合第三方框架,Web工程中除了Java程序和JSP页面、图片等静态资源之外,还包括第三方框架的jar包以及各种各样的配置文件。所有这些资源都必须按照正确的目录结构部署到服务器上,项目才可以运行。
  5. 构建就是以我们编写的Java代码、框架配置文件、国际化等其他资源文件、JSP页面和图片等静态资源作为“原材料”,去“生产”出一个可以运行的项目的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值