Learning Path
浏览 Maven 相关教程与章节。
PHP、Node.js、Java Web、Python Web 框架、API 与服务端开发。
教程
26
Maven 教程 Maven 翻译为“专家”、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。 Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目..
Maven 自动化构建 自动化构建定义了这样一种场景: 在一个项目成功构建完成后,其相关的依赖工程即开始构建,这样可以保证其依赖项目的稳定。 比如一个团队正在开发一个项目 bus-core-api, 并且有其他两个项目 app-web-ui 和 app-desktop-ui 依赖于这个项目。 app-web-ui 项目使用的是 bus-core-api 项目的 1.0 快照: [mycode3 type='xml'..
Maven 构建生命周期 Maven 构建生命周期定义了一个项目构建跟发布的过程,包含三个标准生命周期: clean:清理项目 default(或 build):核心构建流程 site:生成项目文档 每个生命周期由多个阶段(phase)组成,执行时按顺序运行。 1、clean 生命周期 clean 生命周期负责清理项目的临时文件和目录(主要是target/),包含以下主要阶段: 阶段说明自动绑定..
Maven 构建配置文件 构建配置文件是一系列的配置项的值,可以用来设置或者覆盖 Maven 构建默认值。使用构建配置文件,你可以为不同的环境,比如说生产环境(Production)和开发(Development)环境,定制构建方式。 配置文件在 pom.xml 文件中使用 activeProfiles 或者 profiles 元素指定,并且可以通过各种方式触发。配置文件在构建时修改 POM,并且用来给参数设定不同的目标环境(比如说..
Maven 构建 & 项目测试 在上一章节中我们学会了如何使用 Maven 创建 Java 应用。接下来我们要学习如何构建和测试这个项目。 进入 C:/MVN 文件夹下,打开 consumerBanking 文件夹。你将看到有一个 pom.xml 文件,代码如下: [mycode3 type='xml'] 4.0.0 com.companyname.bank consumerBankin..
Maven 常用命令 Maven 命令遵循以下模式: mvn [选项] [生命周期阶段] [目标] 检查 Maven 版本 实例 [mycode4 type='bash'] mvn -v [/mycode4] 这个命令会显示已安装的 Maven 版本、Java 版本等信息。 Maven 生命周期命令 Maven 基于构建生命周期的概念,包含三个主要的生命周期: clean:清理项目 def..
Maven 构建 Java 项目 Maven 使用原型 archetype 插件创建项目。要创建一个简单的 Java 应用,我们将使用 maven-archetype-quickstart 插件。 在下面的例子中,我们将在 C:\MVN 文件夹下创建一个基于 maven 的 java 应用项目。 命令格式如下: mvn archetype:generate '-DgroupId=com.companyname.bank&#..
Maven 依赖机制 Maven 依赖机制是 Apache Maven 构建工具的核心功能之一,它能够自动下载和管理项目所需的外部库(JAR 文件)及其依赖关系。 Maven 依赖机制极大地简化了 Java 项目的构建过程,使开发者无需手动下载和管理各种第三方库。 Maven 通过中央仓库(Maven Central Repository)存储了数百万个开源库,当你在项目中声明某个依赖时,Maven 会自动从仓库中下载该库及其所有依..
Maven 自动化部署 项目开发过程中,部署的过程包含需如下步骤: 将所的项目代码提交到 SVN 或者代码库中并打上标签。 从 SVN 上下载完整的源代码。 构建应用。 存储构建输出的 WAR 或者 EAR 文件到一个常用的网络位置下。 从网络上获取文件并且部署文件到生产站点上。 更新文档并且更新应用的版本号。 问题描述 通常情况下上面的提到开发过程中会涉及到多个团队。一个团队可能负责提交代码,另一个团队负责构建等等。很有..
Maven Eclipse Eclipse 提供了一个很好的插件 m2eclipse ,该插件能将 Maven 和 Eclipse 集成在一起。 在最新的 Eclipse 中自带了 Maven,我们打开,Windows->Preferences,如果会出现下面的画面: 下面列出 m2eclipse 的一些特点: 可以在 Eclipse 环境上运行 Maven 的目标文件。 可以使用其自带的控制台在 Eclipse..
Maven 引入外部依赖 如果我们需要引入第三方库文件到项目,该怎么操作呢? pom.xml 的 dependencies 列表列出了我们的项目需要构建的所有外部依赖项。 要添加依赖项,我们一般是先在 src 文件夹下添加 lib 文件夹,然后将你工程需要的 jar 文件复制到 lib 文件夹下。我们使用的是 ldapjdk.jar ,它是为 LDAP 操作的一个帮助库: 然后添加以下依赖到 pom.xml 文件中: [myco..
Maven IntelliJ IntelliJ IDEA 已经内建了对 Maven 的支持。我们在此例中使用的是 IntelliJ IDEA 社区版 11.1。 IntelliJ IDEA 的一些特性列出如下: 可以通过 IntelliJ IDEA 来运行 Maven 目标。 可以在 IntelliJ IDEA 自己的终端里查看 Maven 命令的输出结果。 可以在 IDE 里更新 Maven 的依赖关系。 可以在 IntelliJ..
Maven 简介 Maven 是一个 项目管理与构建自动化工具,主要用于 Java 项目,但也可用于其他语言(如 Kotlin、Scala)。 Maven 解决了软件构建的两方面问题: 一是软件是如何构建的。 二是软件的依赖关系。 Maven 的核心功能包括: 项目构建(编译、测试、打包、部署)依赖管理(自动下载和管理第三方库)标准化项目结构(约定优于配置)插件扩展(支持自定义构建流程) Maven 的发展历史 ..
Maven 依赖管理 Maven 一个核心的特性就是依赖管理。当我们处理多模块的项目(包含成百上千个模块或者子项目),模块间的依赖关系就变得非常复杂,管理也变得很困难。针对此种情形,Maven 提供了一种高度控制的方法。 可传递性依赖发现 一种相当常见的情况,比如说 A 依赖于其他库 B。如果,另外一个项目 C 想要使用 A ,那么 C 项目也需要使用库 B。 Maven 可以避免去搜索所有所需库的需求。Maven 通过读取项目..
Maven 多模块项目管理 Maven 多模块项目(Multi-module Project)是指一个父项目(parent project)包含多个子模块(submodules)的项目结构。这种结构允许我们将一个大型项目拆分成多个逻辑上独立但又相互关联的模块,每个模块可以单独构建,也可以作为整体一起构建。 多模块项目的优势 代码复用:公共代码可以提取到单独的模块中供其他模块使用 职责分离:不同团队可以专注于不同模块的开发 构建效..
Maven NetBeans NetBeans 6.7 及更新的版本已经内置了 Maven。对于以前的版本,可在插件管理中心获取 Maven 插件。此例中我们使用的是 NetBeans 6.9。 关于 NetBeans 的一些特性如下: 可以通过 NetBeans 来运行 Maven 目标。 可以使用 NetBeans 自身的控制台查看 Maven 命令的输出。 可以更新 Maven 与 IDE 的依赖。 可以在 N..
Maven 插件 Maven 插件是扩展 Maven 功能的可执行组件,每个插件包含一个或多个目标(goals),用于执行特定任务(如编译、测试、打包等)。 插件与生命周期的关系:生命周期(Lifecycle):定义构建阶段(phase)的顺序插件(Plugin):提供具体实现(goal)来完成这些阶段的任务 Maven 有以下三个标准的生命周期: clean:项目清理的处理 default(或 build):项目部署的处理 s..
Maven POM POM ( Project Object Model,项目对象模型 ) 是 Maven 的核心配置文件,采用 XML 格式,默认命名为 pom.xml。 POM 是 Maven 工程的基本工作单元,是一个 XML 文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。 执行任务或目标时,Maven 会在当前目录中查找 POM,获取所需的配置信息,然后执行目标。 POM 中可以指定以下配置: 项目..
Maven 项目文档 本章节我们主要学习如何创建 Maven 项目文档。 比如我们在 C:/MVN 目录下,创建了 consumerBanking 项目,Maven 使用下面的命令来快速创建 java 项目: mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-ar..
Maven 仓库 在 Maven 的术语中,仓库是一个位置(place)。 Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。 在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。 Maven 仓库能帮助我们管理构件(主要是 JAR),它就是放置所有 JAR 文件(WAR,ZIP,POM 等等)的地方。 Maven 仓库类型: 仓库类型存储位置作用访问优先级本地仓库用户目录下的.m2/rep..
Maven 环境配置 Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK。 下载 JDK(推荐 JDK 8/11/17): Oracle JDKOpenJDK 如果你还未安装 JDK,可以参考我们的 Java 开发环境配置。 系统要求 项目 要求 JDK Maven 3.3 要求 JDK 1.7 或以上Maven 3.2 要求 JDK 1.6 或以上Maven 3.0/3.1 要求 J..
Maven 快照(SNAPSHOT) 一个大型的软件应用通常包含多个模块,并且通常的场景是多个团队开发同一应用的不同模块。举个例子,设想一个团队开发应用的前端,项目为 app-ui(app-ui.jar:1.0),而另一个团队开发应用的后台,使用的项目是 data-service(data-service.jar:1.0)。 现在可能出现的情况是开发 data-service 的团队正在进行快节奏的 bug 修复或者项目改进,并且他..
Maven 第一个项目 创建 Maven 项目 使用 Maven Archetype 生成项目 Maven 提供了项目模板(Archetype),可以快速生成标准项目结构。最常用的是 maven-archetype-quickstart(基础 Java 项目模板)。 执行命令: mvn archetype:generate \ -DgroupId=com.example \ -DartifactId=my-firs..