maven 基本知识

Maven 是 Apache 下的一个纯 Java 开发的开源项目,它是一个基于项目对象模型(POM)的项目管理和理解工具。 Maven 是使用 Java 语言编写的,因此它具有跨平台性,主要服务于基于 Java 平台的项目构建、依赖管理和项目信息管理。当然,Maven 也可被用于构建和管理其他的项目,例如 C#,Ruby,Scala 和其他语言编写的项目。本教程将教您如何在日常的 Java 开发工作中使用 Maven。
共  34  篇文章,访问量:7789  次
1. Maven简介 浏览数:237 2023年10月21日 10:54
Maven 是一款基于 Java 平台的项目管理和整合工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编...
2. Maven安装与配置(图解) 浏览数:235 2023年10月21日 10:57
Maven是一个基于 Java 的项目管理工具,因此最基本的要求是在计算机上安装 JDK。
3. Maven POM 浏览数:258 2023年10月21日 10:58
POM(Project Object Model,项目对象模型)是 Maven 的基本组件,它是以 xml 文件的形式存放在项目的根目录下,名称为 pom.xml。
4. 创建Maven项目 浏览数:205 2023年10月21日 10:59
Maven 提供了大量不同类型的 Archetype 模板,通过它们可以帮助用户快速的创建 Java 项目,其中最简单的模板就是 maven-archetype-quickstart,...
5. Maven项目的构建与测试 浏览数:216 2023年10月21日 11:01
在上一节中,我们介绍了如何使用 archetype 创建 Maven 项目,接下来我们介绍如何构建和测试这个项目。 构建项目 查看 helloMaven 项目的 pom.xml 文件,配置如下。
6. Maven坐标 浏览数:223 2023年10月21日 11:01
说到坐标,您最熟悉的定义应该是来自平面几何,即在一个平面坐标系中,坐标(x,y)表示距离 x 轴为 y,距离 y 轴距离为 x 的点,任何一个坐标都能够唯一标识该平面上的一个点。
7. Maven依赖 浏览数:208 2023年10月21日 11:02
Maven 是一款优秀的依赖管理工具,那么什么是依赖呢? 通俗的说,如果一个 Maven 构建所产生的构件(例如 Jar 文件)被其他项目引用,那么该构件就是其他项目的依赖。 依赖声明 Maven 坐标是依赖的前提,所有 Maven 项目必须明确定义自己...
8. Maven仓库(本地仓库+远程仓库) 浏览数:239 2023年10月21日 11:03
在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称为构件。
9. Maven插件(plugin) 浏览数:254 2023年10月21日 11:05
Maven 实际上是一个依赖插件执行的框架,它执行的每个任务实际上都由插件完成的。Maven 的核心发布包中并不包含任何 Maven 插件,它们以独立构件的形式存在, 只有在 Mave...
10. Maven生命周期(clean+site+default) 浏览数:221 2023年10月21日 11:09
在 Maven 出现之前,项目构建的生命周期就已经存在,开发人员每天都在对项目进行清理,编译,测试及部署,但由于没有统一的规范,不同公司甚至不同项目之间的构建的方式都不尽相同。
11. Maven导入本地jar包 浏览数:224 2023年10月21日 11:11
我们知道,Maven 是通过仓库对依赖进行管理的,当 Maven 项目需要某个依赖时,只要其 POM 中声明了依赖的坐标信息,Maven 就会自动从仓库中去下载该构件使用。但在实际的开...
12. Maven site(站点) 浏览数:229 2023年10月21日 11:13
Maven 不仅仅是一款项目构建和依赖管理工具,它还能够聚合项目信息,促进项目团队间地交流。POM 中可以包含各种项目信息,例如:项目描述、SCM 地址、许可证信息,开发者信息等。用户...
13. Maven Archetype(原型/模板) 浏览数:254 2023年10月21日 11:15
Archetype 是 Maven 项目的模板工具包,它定义了 Maven 项目的基本架构。Archetype 为开发人员提供了数千种创建 Maven 项目的模板,Maven 通过这些...
14. Maven SNAPSHOT(快照) 浏览数:257 2023年10月21日 11:15
我们知道,Maven 项目第一次构建时,会自动从远程仓库搜索依赖项,并将其下载到本地仓库中。当项目再进行构建时,会直接从本地仓库搜索依赖项并引用,而不会再次向远程仓库获取。这样的设计能...
15. Maven自动化构建 浏览数:222 2023年10月21日 11:17
Maven 自动化构建是一种方案,即当某个项目构建完成后(特别是有代码更新的情况下),所有依赖它的相关项目也应该开始构建过程,以确保这些项目的稳定运行。
16. Maven依赖传递 浏览数:212 2023年10月21日 11:17
Maven 依赖传递是 Maven 的核心机制之一,它能够一定程度上简化 Maven 的依赖配置。本节我们将详细介绍依赖传递及其相关概念。 依赖传递
17. Maven排除依赖和可选依赖 浏览数:223 2023年10月21日 11:18
我们知道 Maven 依赖具有传递性,例如 A 依赖于 B,B 依赖于 C,在不考虑依赖范围等因素的情况下,Maven 会根据依赖传递机制,将间接依赖 C 引入到 A 中。但如果 A ...
18. Maven继承 浏览数:219 2023年10月21日 11:19
Maven 在设计时,借鉴了 Java 面向对象中的继承思想,提出了 POM 继承思想。
19. dependencyManagement:管理Maven依赖 浏览数:215 2023年10月21日 11:21
我们知道,子模块可以通过继承获得父模块中声明的全部依赖,这样虽然避免了在各个子模块 POM 中重复进行依赖声明,但也极有可能造成子模块中引入一些不必要的依赖。为此 Maven 引入了 ...
20. Maven聚合 浏览数:201 2023年10月21日 11:22
在实际的开发过程中,我们所接触的项目一般都由多个模块组成。在构建项目时,如果每次都按模块一个一个地进行构建会十分得麻烦,Maven 的聚合功能很好的解决了这个问题。
21. pluginManagement:管理Maven插件 浏览数:229 2023年10月21日 11:24
Maven 使用 dependencyManagement 对依赖进行管理,与之类似地,Maven 中还提供了一个名为 pluginManagement 的元素,它...
22. Maven Profile精讲 浏览数:205 2023年10月21日 11:25
一个项目通常都会有多个不同的运行环境,例如开发环境,测试环境、生产环境等。而不同环境的构建过程很可能是不同的,例如数据源配置、插件、以及依赖的版本等。每次将项目部署到不同的环境时,都需要修改相应的配置,这样重复的工作,不仅浪费劳动力,还容易出错。为了解决这一问题,Maven 引入了 Profi...
23. Maven镜像(mirror) 浏览数:226 2023年10月21日 11:26
如果一个仓库 A 可以提供另一个仓库 B 的所有内容,那么就可以认为仓库 A 是仓库 B 的一个镜像。即仓库 B 中的任何一个构件都能从它的镜像中获取。 使用镜像代替中央仓库
24. Maven私服 浏览数:217 2023年10月21日 11:27
Maven 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。
25. Maven创建Web项目 浏览数:209 2023年10月21日 11:29
到目前为止,我们所接触的 Maven 项目的打包类型只有 JAR 和 POM ,但在现今的互联网时代,我们创建的大部分应用程序都是 Web 应用,在 Java 中 Web 应用的打包方...
26. Eclipse新建Maven项目 浏览数:217 2023年10月21日 11:30
我们知道,m2eclipse 是一个在 Eclipse 中集成 Maven 的插件,通过该插件我们可以很轻松的在 Eclipse 中新建 Maven 项目,本节我们将讲解如何使用 Ec...
27. Eclipse导入Maven项目 浏览数:231 2023年10月21日 11:31
我们知道,m2eclipse 是一个在 Eclipse 中集成 Maven 的插件,通过该插件我们可以很轻松的在 Eclipse 中导入 Maven 项目,本节我们将讲解如何使用 Ec...
28. Eclipse配置Maven 浏览数:228 2023年10月21日 11:32
前面所涉及的 Maven 项目结构和代码都十分的简单,即使是使用最简单的文本编辑器也能够很快就能完成。但在实际的开发过程中,我们所涉及的 Maven 项目往往要复杂得多,此时我们就需要...
29. Eclipse执行Maven命令 浏览数:273 2023年10月21日 11:33
在 Eclipse 中新建和导入 Maven 项目后,接下来就可以执行 Maven 命令对这些项目进行构建了。当然,您依然可以在命令行中执行 Maven 命令进行构建,不过本节将介绍如...
30. IDEA配置Maven环境 浏览数:203 2023年10月21日 11:34
IntelliJ IDEA 是当前最流行的 Java IDE(集成开发环境)之一,也是业界公认最好用的 Java 开发工具之一。IntelliJ IDEA 支持 Maven 的全部功能...
31. IDEA新建Maven项目 浏览数:244 2023年10月21日 11:35
IntelliJ IDEA 是当前最流行的 Java IDE(集成开发环境)之一,也是业界公认最好用的 Java 开发工具之一。IntelliJ IDEA 支持 Maven 的全部功能,通过它我们可以很轻松地创建 Maven 项目。 本节我们以 IntelliJ IDEA 202...
32. IDEA导入Maven项目 浏览数:226 2023年10月21日 11:36
IntelliJ IDEA 是当前最流行的 Java IDE(集成开发环境)之一,也是业界公认最好用的 Java 开发工具之一。IntelliJ IDEA 支持 Maven 的全部功能,通过它我们可以很轻松地将 Maven 项目导入到 IDEA 中。 本节我们以 IntelliJ...
33. IDEA执行Maven命令 浏览数:255 2023年10月21日 11:36
IntelliJ IDEA 是一款非常优秀的 Java 软件开发工具,它比 Eclipse 拥有更加强大的插件体系,可以帮助开发者完成很多重量级的功能,它不仅可以在项目中执行...
34. Maven自动化部署 浏览数:240 2023年10月21日 11:41
Maven 项目的部署通常包括以下步骤: 将项目代码提交到 SVN 或 Git 等版本控制系统中,并进行标记。 从 SVN 或 Gi...