Maven的概念

目录

  • [1. Maven的概念](#1. Maven的概念)
    • [1.1. 什么是Maven](#1.1. 什么是Maven)
    • [1.2. 什么是依赖管理](#1.2. 什么是依赖管理)
    • [1.3. 什么是项目构建](#1.3. 什么是项目构建)
    • 1.4.Maven的应用场景
    • [1.5. 为什么使用Maven](#1.5. 为什么使用Maven)
    • [1.6. Maven模型](#1.6. Maven模型)

1. Maven的概念

1.1. 什么是Maven

翻译为"专家","内行"

Maven是跨平台项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。

什么是理想的项目构建?

高度自动化,跨平台,可重用的组件,标准化的流程

什么是依赖?为什么要进行依赖管理?

自动下载,统一依赖管理

A1.0 依托于 B 2.0 依托于 C3.0

有哪些项目信息

项目名称描述等,开发人员信息,开发者信息等

1.2. 什么是依赖管理

对第三方依赖包的管理,可以连接互联网下载项目所需第三方jar包。

对自己开发的模块的管理,可以像引用第三方依赖包一样引用自己项目的依赖包。

1.3. 什么是项目构建

项目构建:是一个从编写源代码到编译、测试、运行、打包、部署的过程。

传统项目和maven项目构建的两种方式

传统项目:

打开Idea编写源代码和配置文件,对源代码进行编译,可以使用Junit进行单元测试,把项目打成war包,部署到Tomcat服务器中运行。

maven项目:

maven将项目构建过程进行标准化,每个阶段都可以使用一个命令来完成。

清理 --> 编译 --> 测试 --> 报告 --> 打包 --> 部署

好处:

可以通过命令完成项目构建。(测试:使用mvn tomcat:run的命令来发布运行项目)

maven对每个构建阶段进行规范,有利于大型团队协作开发。

1.4.Maven的应用场景

maven的应用场景,开发人员只要按着maven标准的目录结构进行开发即可,然后提交代码。在测试服务器上拉取Java源码,然后可以使用maven的自动化项目构建完成项目的清理、编译、测试、打包和安装部署等。

1.5. 为什么使用Maven

IDE?Eclipse?IDEA?

手工操作较多,编译、测试、部署等工作都是独立的,很难一步完成

每个人的IDE配置都不同,很容易就出错出现本地代码换个地方编译

Ant?

没有一个约定的目录结构

必须明确让ant做什么,什么时候做,然后编译,打包

没有生命周期,必须定义目标及其实现的任务序列

没有集成依赖管理

Maven?

拥有约定,知道你的代码在哪里,放到哪里去

拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮你处理其他事情

拥有依赖管理,仓库管理

1.6. Maven模型

相关推荐
張萠飛23 分钟前
生产环境Tomcat运行一段时间后,如何测试其性能是否满足后续使用
java·tomcat
Hurry627 分钟前
web应用服务器tomcat
java·前端·tomcat
hqxstudying1 小时前
java分布式定时任务
java·开发语言·分布式
present--011 小时前
【JAVA EE初阶】多线程(进阶)
java·java-ee
小猪咪piggy1 小时前
【JavaEE】(10) JavaEE 简介
java·spring·java-ee
yangmf20402 小时前
Easysearch 冷热架构实战
java·大数据·elasticsearch·搜索引擎
麦兜*2 小时前
LangChain4j终极指南:Spring Boot构建企业级Agent框架
java·spring boot·spring·spring cloud·ai·langchain·ai编程
IDOlaoluo3 小时前
Linux 安装 JDK 8u291 教程(jdk-8u291-linux-x64.tar.gz 解压配置详细步骤)
java·linux·运维
都叫我大帅哥3 小时前
深入解剖Shenandoah GC:Java低延迟垃圾回收的终极武器
java·jvm
带只拖鞋去流浪3 小时前
Java文件读写(IO、NIO)
java·开发语言·nio