![](https://img-blog.csdnimg.cn/0f293ea1904745969cc1362bdc931bdd.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
maven
文章平均质量分 74
maven 项目构建工具
逆轮回
手握日月摘星辰,世间无我这般人。
脚踏阴阳定乾坤,荒古至今我为尊。
展开
-
IDEA执行Maven命令
在工作区的最右侧,IntelliJ IDEA 为我们提供了一个十分实用的窗口:Maven 工具窗口,通过它我们几乎可以完成所有与 Maven 相关的操作。原创 2024-01-25 11:23:45 · 1202 阅读 · 0 评论 -
IDEA导入Maven项目
相比新建 Maven 项目,实际工作中使用更多的是将已有的 Maven 项目导入 IntelliJ IDEA 中,具体步骤如下。或者在 IntelliJ IDEA 工作区上方的菜单栏中选择 File ,在下拉菜单选中 Open,如下图。原创 2024-01-25 10:37:18 · 738 阅读 · 0 评论 -
IDEA新建Maven项目
注意:此处我们也可以不勾选 Create from archetype 选项,直接点击下方的 Next 按钮,来直接创建一个简单的 Maven 项目。原创 2024-01-25 10:22:40 · 1238 阅读 · 0 评论 -
IDEA配置Maven环境
IntelliJ IDEA 是当前最流行的 Java IDE(集成开发环境)之一,也是业界公认最好用的 Java 开发工具之一。IntelliJ IDEA 支持 Maven 的全部功能,通过它我们可以很轻松地实现创建 Maven 项目、导入 Maven 项目、向已有项目添加 Maven 支持等功能。原创 2024-01-23 17:34:16 · 397 阅读 · 0 评论 -
Eclipse执行Maven命令
如果需要执行的 Maven 命令没有被预置在 Run As 的菜单中,那该怎么办呢?此时我们可以选择 Maven build... ,在弹出的对话框中自定义 Maven 命令,如图所示。我们可以在 Maven 命令配置对话框中,自定义需要执行的 Maven 命令。图中可以看到,除了可以配置自定义 Maven 命令的目标,在该对话框中还可以配置很多内容,例如 Maven 命令的名称(有默认值)、是否更新 Snapshot,是否开启调试输出、以及添加运行参数等,我们可以根据自身的需求进行适当的配置。原创 2024-01-23 16:41:23 · 624 阅读 · 0 评论 -
Eclipse导入Maven项目
我们知道,m2eclipse 是一个在 Eclipse 中集成 Maven 的插件,通过该插件我们可以很轻松的在 Eclipse 中导入 Maven 项目,本节我们将讲解如何使用 Eclipse 导入 Maven 项目。原创 2024-01-23 16:19:45 · 824 阅读 · 0 评论 -
Eclipse新建Maven项目
2)新建 Maven 项目时,Eclipse 会提示我们是否跳过 Maven Archetype 选择,直接新建一个简单的 Maven 项目,该项目只包含最基本的 Maven 目录结构。1)在菜单栏中一次选择 File -->New --> Other,然后在搜索框中输入 maven,在下方选择 Maven Project,最后点击最下方的 Next 按钮,如图所示。5)返回 Eclipse 工作区,可以看到 Eclipse 已经为我们创建好了一个 Maven 项目,如图所示。原创 2024-01-23 15:08:42 · 772 阅读 · 0 评论 -
Eclipse配置Maven
Eclipse配置Maven前面所涉及的 Maven 项目结构和代码都十分的简单,即使是使用最简单的文本编辑器也能够很快就能完成。但在实际的开发过程中,我们所涉及的 Maven 项目往往要复杂得多,此时我们就需要借助 IDE(集成开发环境) 来帮助我们完成开发工作。当今最流行的 Java IDE 主要有 2 种:Eclipse 和 IntelliJ IDEA,其中 eclipse 是完全免费的,用户不用花一分钱就能使用,而且基本能够满足用户所有的开发需求。原创 2024-01-21 13:26:40 · 1038 阅读 · 0 评论 -
Maven创建Web项目
到目前为止,我们所接触的 Maven 项目的打包类型只有 JAR 和 POM ,但在现今的互联网时代,我们创建的大部分应用程序都是 Web 应用,在 Java 中 Web 应用的打包方式是 WAR。本节我们将介绍如何使用 Maven 创建、构建、部署和运行 Web 应用程序。原创 2024-01-20 20:31:41 · 376 阅读 · 0 评论 -
Maven私服
Maven 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。建立了 Maven 私服后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求和下载。此外,一些无法从外部仓库下载到的构件,也能从本地上传到私服供其他人使用。下图中展示了 Maven 私服的用途。原创 2024-01-25 09:53:57 · 373 阅读 · 0 评论 -
Maven镜像(mirror)
如果一个仓库 A 可以提供另一个仓库 B 的所有内容,那么就可以认为仓库 A 是仓库 B 的一个镜像。即仓库 B 中的任何一个构件都能从它的镜像中获取。原创 2024-01-20 20:12:48 · 1344 阅读 · 0 评论 -
Maven Profile
一个项目通常都会有多个不同的运行环境,例如开发环境,测试环境、生产环境等。而不同环境的构建过程很可能是不同的,例如数据源配置、插件、以及依赖的版本等。每次将项目部署到不同的环境时,都需要修改相应的配置,这样重复的工作,不仅浪费劳动力,还容易出错。为了解决这一问题,Maven 引入了 Profile 的概念,通过它可以为不同的环境定制不同的构建过程。原创 2024-01-20 20:04:24 · 985 阅读 · 0 评论 -
pluginManagement
Maven 使用 dependencyManagement 对依赖进行管理,与之类似地,Maven 中还提供了一个名为 pluginManagement 的元素,它可以帮助用户管理 Maven 插件。原创 2024-01-20 19:14:12 · 494 阅读 · 0 评论 -
Maven聚合
在实际的开发过程中,我们所接触的项目一般都由多个模块组成。在构建项目时,如果每次都按模块一个一个地进行构建会十分得麻烦,Maven 的聚合功能很好的解决了这个问题。原创 2024-01-14 17:02:17 · 451 阅读 · 0 评论 -
dependencyManagement
我们知道,子模块可以通过继承获得父模块中声明的全部依赖,这样虽然避免了在各个子模块 POM 中重复进行依赖声明,但也极有可能造成子模块中引入一些不必要的依赖。为此 Maven 引入了 dependencyManagement 来对依赖进行管理。原创 2024-01-14 16:57:16 · 2380 阅读 · 0 评论 -
Maven继承
Maven 在设计时,借鉴了 Java 面向对象中的继承思想,提出了 POM 继承思想。当一个项目包含多个模块时,可以在该项目中再创建一个父模块,并在其 POM 中声明依赖,其他模块的 POM 可通过继承父模块的 POM 来获得对相关依赖的声明。对于父模块而言,其目的是为了消除子模块 POM 中的重复配置,其中不包含有任何实际代码,因此父模块 POM 的打包类型(packaging)必须是 pom。如图 1 所示,一个项目中存在如下多个模块。父模块 Root 的 pom.xml 配置如下。原创 2024-01-07 16:01:11 · 816 阅读 · 0 评论 -
Maven排除依赖和可选依赖
我们知道 Maven 依赖具有传递性,例如 A 依赖于 B,B 依赖于 C,在不考虑依赖范围等因素的情况下,Maven 会根据依赖传递机制,将间接依赖 C 引入到 A 中。但如果 A 出于某种原因,希望将间接依赖 C 排除,那该怎么办呢?Maven 为用户提供了两种解决方式:排除依赖(Dependency Exclusions)和可选依赖(Optional Dependencies)。原创 2024-01-07 15:38:07 · 419 阅读 · 0 评论 -
Maven依赖传递
Maven 依赖传递是 Maven 的核心机制之一,它能够一定程度上简化 Maven 的依赖配置。原创 2024-01-07 15:25:45 · 958 阅读 · 0 评论 -
Maven自动化构建
Maven 自动化构建是一种方案,即当某个项目构建完成后(特别是有代码更新的情况下),所有依赖它的相关项目也应该开始构建过程,以确保这些项目的稳定运行。原创 2024-01-01 16:26:55 · 1066 阅读 · 0 评论 -
Maven SNAPSHOT(快照)
我们知道,Maven 项目第一次构建时,会自动从远程仓库搜索依赖项,并将其下载到本地仓库中。当项目再进行构建时,会直接从本地仓库搜索依赖项并引用,而不会再次向远程仓库获取。这样的设计能够避免项目每次构建时都去远程仓库下载依赖,减轻了网络带宽的压力,但也带来了问题。大型的应用软件通常由多个功能模块组成,这些模块一般分别于不同的团队负责开发。原创 2024-01-01 13:16:44 · 1033 阅读 · 0 评论 -
Maven Archetype(原型,模板)
Archetype 是 Maven 项目的模板工具包,它定义了 Maven 项目的基本架构。Archetype 为开发人员提供了数千种创建 Maven 项目的模板,Maven 通过这些模板可以帮助用户快速的生成项目的目录结构以及 POM 文件。原创 2023-12-31 16:50:10 · 955 阅读 · 0 评论 -
Maven site(站点)
Maven 不仅仅是一款项目构建和依赖管理工具,它还能够聚合项目信息,促进项目团队间地交流。用户可以使用 Maven 提供的 maven-site-plugin 插件让 Maven 生成一个 Web 站点, 以站点的形式发布以上信息。Maven 命令运行完毕后,可以在项目的 target\site 目录下找到 Maven 生成的站点文件,如下图。以 secondMaven 项目为例,修改其 pom.xml 中的配置,添加该插件到项目中。双击打开 index.html 查看站点。原创 2023-12-31 16:45:06 · 461 阅读 · 0 评论 -
Maven导入本地jar包
我们知道,Maven 是通过仓库对依赖进行管理的,当 Maven 项目需要某个依赖时,只要其 POM 中声明了依赖的坐标信息,Maven 就会自动从仓库中去下载该构件使用。但在实际的开发过程中,经常会遇到一种情况:某一个项目需要依赖于存储在本地的某个 jar 包,该 jar 包无法从任何仓库中下载的,这种依赖被称为外部依赖或本地依赖。那么这种依赖是如何声明的呢?6. 打开命令行窗口,跳转到 secondMaven 所在目录,执行以下 mvn 命令,进行编译。命令执行执行结果如下。原创 2023-12-31 16:09:08 · 506 阅读 · 0 评论 -
Maven插件
除了内置绑定之外,用户也可以自己选择将某个插件目标绑定到 Maven 生命周期的某个阶段上,这种绑定方式就是自定义绑定。自定义绑定能够让 Maven 在构建过程中执行更多更丰富的任务。例如,我们想要在 clean 生命周期的 clean 阶段中显示自定义文本信息,则只需要在项目的 POM 中 ,通过 build 元素的子元素 plugins,将 maven-antrun-plugin:run 目标绑定到 clean 阶段上,并使用该插件输出自定义文本信息即可。原创 2023-12-31 15:11:14 · 873 阅读 · 0 评论 -
Maven生命周期
在 Maven 出现之前,项目构建的生命周期就已经存在,开发人员每天都在对项目进行清理,编译,测试及部署,但由于没有统一的规范,不同公司甚至不同项目之间的构建的方式都不尽相同。Maven 从大量项目和构建工具中学习和反思,最后总结了一套高度完美的,易扩展的生命周期。这个生命周期将项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有构建过程进行了抽象和统一。原创 2023-12-31 14:51:01 · 864 阅读 · 0 评论 -
Maven仓库(本地仓库+远程仓库)
在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称为构件。Maven 在某个统一的位置存储所有项目的构件,这个统一的位置,我们就称之为仓库。换言之,仓库就是存放依赖和插件的地方。任何的构件都有唯一的坐标,该坐标定义了构件在仓库中的唯一存储路径。当 Maven 项目需要某些构件时,只要其 POM 文件中声明了这些构件的坐标,Maven 就会根据这些坐标找自动到仓库中找到并使用它们。项目构建完成生成的构件,也可以安装或者部署到仓库中,供其他项目使用。原创 2023-09-17 15:34:35 · 334 阅读 · 0 评论 -
Maven依赖
Maven 是一款优秀的依赖管理工具,那么什么是依赖呢?通俗的说,如果一个 Maven 构建所产生的构件(例如 Jar 文件)被其他项目引用,那么该构件就是其他项目的依赖。原创 2023-09-17 15:10:46 · 111 阅读 · 0 评论 -
Maven 坐标
说到坐标,您最熟悉的定义应该是来自平面几何,即在一个平面坐标系中,坐标(x,y)表示距离 x 轴为 y,距离 y 轴距离为 x 的点,任何一个坐标都能够唯一标识该平面上的一个点。在现实的生活中同样存在着很多坐标,例如地址,我们可以通过国家、省、市、县、乡镇、村、门牌号等一些列信息唯一地标识一个地址。在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称为构件。原创 2023-09-17 14:59:49 · 120 阅读 · 0 评论 -
Maven项目的构建与测试
查看 helloMaven 项目的 pom.xml 文件,配置如下。从以上配置可知,Maven 已经添加了 Junit 作为该项目的测试框架,且 Maven 也在项目中自动生成了一个源码文件 App.java 和一个测试文件 AppTest.java。打开命令行窗口,跳转到 D:\maven\test\helloMaven 目录,执行以下 mvn 命令,对该项目进行构建。项目构建完成后,在该项目根目录中生成了一个名为 target 的目录,该目录包含以下内容。原创 2023-09-17 14:55:27 · 258 阅读 · 0 评论 -
创建Maven项目
Maven 提供了大量不同类型的 Archetype 模板,通过它们可以帮助用户快速的创建 Java 项目,其中最简单的模板就是 maven-archetype-quickstart,它只需要用户提供项目最基本的信息,就能生成项目的基本结构及 POM 文件。原创 2023-09-17 14:19:53 · 107 阅读 · 0 评论 -
Maven POM
POM(Project Object Model,项目对象模型)是 Maven 的基本组件,它是以 xml 文件的形式存放在项目的根目录下,名称为 pom.xml。POM 中定义了项目的基本信息,用于描述项目如何构建、声明项目依赖等等。当 Maven 执行一个任务时,它会先查找当前项目的 POM 文件,读取所需的配置信息,然后执行任务。在创建 POM 之前,首先要确定工程组(groupId),及其名称(artifactId)和版本,在仓库中这些属性是项目的唯一标识。原创 2023-09-16 16:34:16 · 65 阅读 · 0 评论 -
Maven安装与配置(图解)
Maven是一个基于 Java 的项目管理工具,因此最基本的要求是在计算机上安装 JDK。Maven 对系统要求如下表:JDKJDK 7.0 及以上。内存没有最低要求。磁盘空间Maven 安装本身大约需要 10MB。除此之外,其他磁盘空间将用于本地 Maven 存储库。本地存储库的大小将根据使用情况而有所不同,但至少应为 500MB。操作系统没有最低要求。原创 2023-09-16 15:38:38 · 41 阅读 · 0 评论 -
Maven 简介
Maven 是一款基于 Java 平台的项目管理和整合工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。Maven 是使用 Java 语言编写的,因此它和 Java 一样具有跨平台性,这意味着无论是在 Windows ,还是在 Linux 或者 Mac OS 上,都可以使用相同的命令进行操作。原创 2023-09-16 15:27:20 · 104 阅读 · 0 评论