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模型

相关推荐
伊成11 分钟前
一文详解Spring Boot如何配置日志
java·spring boot·单元测试
lybugproducer19 分钟前
浅谈 Redis 数据类型
java·数据库·redis·后端·链表·缓存
purrrew1 小时前
【Java ee初阶】网络编程 UDP socket
java·网络·网络协议·udp·java-ee
上海合宙LuatOS1 小时前
全栈工程师实战手册:LuatOS日志系统开发指南!
java·开发语言·单片机·嵌入式硬件·物联网·php·硬件工程
多敲代码防脱发1 小时前
导出导入Excel文件(详解-基于EasyExcel)
java·开发语言·jvm·数据库·mysql·excel
一刀到底2111 小时前
做为一个平台,给第三方提供接口的时候,除了要求让他们申请 appId 和 AppSecret 之外,还应当有哪些安全选项,要过等保3级
java·网络·安全
wjcurry2 小时前
我的实习日报
java·redis·mysql
我喜欢山,也喜欢海2 小时前
Jenkins Maven 带权限 搭建方案2025
java·jenkins·maven
kaikaile19952 小时前
Jenkins集成Maven
servlet·jenkins·maven