3.1.Maven-课程介绍

一.预览:

Maven-Java项目的构建工具。


二.Maven概述:

Apache软件基金会有多个开源项目,上述图片里的网址可找到。


三.Maven的作用:

1.依赖管理:

通过Maven可以快捷的管理项目依赖的资源(项目依赖的资源主要指jar包),

通过Maven还可以避免依赖jar包的冲突问题。

如果要使用Maven来管理依赖,只需要创建一个Maven工程,在这个工程中不需要导入任何一个jar包,要用哪个jar包,只需要在Maven工程的pom.xml这个配置文件中来配置描述信息即可,

如下图:

如上图,告诉Maven要使用依赖logback-classic,版本使用1.2.11,配置完这块信息后,Maven会自动联网下载对应的依赖,然后在项目中就可以直接使用了,

如果要升级依赖的版本,只需要更改version的信息即可。

因此有了Maven就可以不用手动导入jar包,只需要在配置文件中简单描述一下所需要的依赖的信息,Maven就会自动联网下载。

2.统一项目结构:

Java项目的开发工具有很多,不同开发工具之间有差异,这就造成了一个问题,

一个开发工具中开发的Java项目无法导入到另一个开发工具中,

以上问题通过Maven就可以完美解决,因为Maven提供了一套标准的项目结构,也就是说无论使用哪一款开发工具,只要使用Maven项目构建工具,生成出来的目录结构都是统一的,

这样以来,无论采用哪款开发工具创建Maven项目,在其他的开发工具当中都可以将这个Maven项目直接导入进来,

所有的开发工具都是通用的,基于Maven创建出来的标准目录结构,每一个目录下都存放的什么内容呢?

在基于Maven创建出来的工程中,src下有两个子目录:main,test,

如下图:

main中存放的是项目的实际资源,test中存放的是项目的测试资源,

main下还有java和resources->java里存放java源代码,resources里存放配置文件;

test下也有java和resources->java里存放与测试相关的源代码,resources里存放与测试相关的配置文件;

还有一个核心的项目文件pom.xml:这个是Maven工程的核心配置文件,当前工程所需要导入的依赖的信息都需要在pom.xml中配置。

3.项目构建:

在Maven中提供了一套跨平台标准的项目构建方式,具体指所开发的Java项目要运行,首先要通过java.c进行编译(这一步在如idea这样的高级开发工具中运行之前就已经把编译完成了),但如果没有高级开发工具,就需要先编译,编译完毕后要测试,判断程序是否能运行,测试完毕之后就可以将项目打包,然后再对外发布项目,

在Maven中把这一系列操作进行了标准化,制作了一套标准的构建流程,可以基于它给我们提供的Maven指令快速的完成项目的编译、测试、打包、发布等操作,

常用的Maven指令在Windows、Linux、MacOS各个操作系统下都是支持的。


四.总结:


相关推荐
杨了个杨898229 分钟前
Keepalived + Nginx + HAProxy 高可用架构部署实战案例
java·nginx·架构
马士兵教育3 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
snow@li3 小时前
Java:理解 Gradle / 后端项目的管家 / 打包SpringBoot 应用 / 完成编译、下载依赖、运行测试、打包 JAR/WAR / 速查表
java
云烟成雨TD3 小时前
Spring AI 1.x 系列【57】动态工具发现:Tool Search Tool
java·人工智能·spring
zfoo-framework3 小时前
[修改代码使用]codex官方app中使用中转(不需要cc-switch) 1.config.toml 2.sk方式登录
java
逍遥德4 小时前
MQTT教程详解-05.SpringBoot集成mqtt client 性能分析
java·spring boot·spring·mt
云烟成雨TD4 小时前
Spring AI 1.x 系列【54】Retry 机制分析
java·人工智能·spring
weixin_523185324 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
点燃大海4 小时前
SpringAI构建智能体
java·spring boot·spring·springai智能体
xier_ran4 小时前
【infra之路】02_RadixAttention与KV_Cache管理
java·spring boot·spring