Maven
文章平均质量分 79
洒家肉山大魔王
学习是一辈子的事情,去身上的戾气也是一辈子的修炼。
展开
-
关于maven读取settings.xml文件的优先级问题
settings.xml可能存在两个文件夹: Maven安装目录:${M2_HOME}/conf/settings.xml 用户的.m2目录:${user.home}/.m2/settings.xml1是全局配置,2是用户配置。如果两者都存在,它们的内容将被合并,并且用户目录的settings.xml优先。加载setting.xml的优先级如下:${user.home}/.m2 目录下读取 settings.xml${user.home}/.m2目录下不存在settings.xml时,从{原创 2023-11-10 22:46:32 · 975 阅读 · 2 评论 -
关于Maven的7个问题
现在的项目中 Maven 随处可见,面试的时候,经常会被问一些项目中 Maven 的问题,但是平时 Maven 项目一般不会出什么问题,可能你不太注意,以下7个问题,一般说出来并掌握,至少可以证明你 Maven 用的熟练度还可以。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的...OK,博主就曾经被Maven“伤害”过,所以,我们要:彻底搞定M原创 2021-09-29 22:20:31 · 146 阅读 · 0 评论 -
Maven项目jar包依赖冲突的原因以及解决办法
依赖冲突是日常开发中经常碰到的过程,如果运气好,没碰到过这个问题同学可能没什么感觉,并不会有什么问题。没碰到过这个问题同学可能没什么感觉,小编举两个最近碰到例子,让大家感受一些。举个栗子1:有个古老的业务基础包 A。B业务,C业务依赖这个包A。某个团队拷贝 A包 的部分代码进行重构,类名与路径完全一样,然后重新打包成 D 发布。一次业务改动,B 业务也引入了 D 包,测试环境运行的时候,一切 OK,但是在生产运行时,却抛出 NoSuchMethodError。问题原因在于 B ...原创 2021-07-26 20:54:03 · 2716 阅读 · 0 评论 -
Maven的核心概念(五分钟快速掌握)
前两天在一个技术群,有人还在问maven中groupId、artifactId、version这些关键字的含义是什么,于是,我觉得还是很有必要来聊聊Maven中的这些核心概念。成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。今天我们来学习Maven中的核心概念。了解了这些核心概念后,我们后面就可以更深层次地学习和使用Maven。坐标坐标的概念来自百度百科能够确定一个点在空间的位置的一个或一组数,叫做这个点的坐标。通常由这个点到垂直相交的若干条固定的直线的距离原创 2021-07-10 18:32:11 · 177 阅读 · 2 评论 -
Maven中关于jar包冲突的2种排查方案及3种解决方式
在实际开发中,多模块项目常会使用Maven进行包管理。在poml文件中进行包依赖时,常存在引入一个jar包中默认依赖了其他的jar包的情况。这样很容易导致jar包冲突,从而产生一些诡异问题,如版本问题导致的类、方法找不到等。下面我们将聊聊具体关于依赖冲突产生的原因、排查方式以及解决的方案。1.什么是依赖传递举个简单例子,比如一个多模块项目依赖关系如下图。其中bepe-dal引入了common-lib,当bepe-manager模块中引入bepe-dal时,common-lib这个依赖也会被引原创 2021-07-10 18:19:28 · 9044 阅读 · 2 评论 -
Maven的dependencies与dependencyManagement用法区别
1. dependencies用途:管理项目依赖 特点:具有依赖传递性,可直接使用。子model不配置也会集成父级model中该依赖项(全部继承)。<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7原创 2021-07-04 13:23:31 · 468 阅读 · 2 评论 -
关于Maven构建的项目依赖范围
Maven可以管理内部和外部依赖。一个Java项目的外部依赖可能是如Plexus,SpringFramework,或者Log4J的类库。一个内部的依赖就像在“一个简单的web应用”中描述的那样,web项目依赖于另外一个包含服务类,模型类,或者持久化逻辑的项目。项目依赖一个“项目依赖”展示了一些项目依赖的栗子:<project>... <dependencies> <dependency> <gro.原创 2021-06-29 21:08:05 · 430 阅读 · 0 评论 -
Maven默认的生命周期
生命周期是包含在一个项目构建中的一系列有序的阶段。Maven可以支持许多不同的生命周期,但是最常用的是mavan默认的生命周期,这个生命周期中一开始的一个阶段吗是验证项目的基本完整性,最后的一个阶段是把一个项目发布成产品。 生命周期的阶段被特地留得含糊,单独的定义为验证(validation),测试(testing),或发布(deployment),而他们对不同项目来说以为着不同的事情。例如,打包(packe)这个阶段在一个项目里生成一个jar,它意味着“将一个项目打成一个ja...原创 2021-06-29 20:48:08 · 786 阅读 · 2 评论 -
史上最全的maven的pom.xml文件详解
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <!-- 父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对应值.转载 2021-01-19 22:08:02 · 322 阅读 · 0 评论 -
【持续更新】一些常用的 Maven 命令
maven 命令的格式为 mvn [plugin-name]:[goal-name],可以接受的参数如下:-D :指定参数,如 -Dmaven.test.skip=true 跳过单元测试;-P :指定 Profile 配置,可以用于区分环境;-e :显示maven运行出错的信息;-o :离线执行命令,即不去远程仓库更新包;-X :显示maven允许的debug信息;-U :强制去远程更新snapshot的插件或依赖,默认每天只更新一次。常用maven命令 创建maven项目原创 2021-01-19 21:37:49 · 958 阅读 · 2 评论 -
IDEA中用maven打出的jar包只有一个META-INF文件夹,没有java的源码???
IDEA中用maven打出的jar包,用工具打开一看,只有一个META-INF文件夹,没有java的源码???检查pom.xml文件中maven打包插件的配置:因为所需jar包仅仅提供外界可引用的接口,所以不需要制定入口运行主类,而且也不需要打成可运行jar包,看上边pom的配置采用assembly打包方式,并没有异常。接下来看下java工程代码:代码似乎并没有错误,然鹅java工程结构似乎比较奇怪,不是一个标准的maven工程结构。改造java工程结构:重新打包,~原创 2020-12-28 21:47:29 · 5276 阅读 · 2 评论 -
大佬对Maven进行深度讲解:什么是Maven?POM.XML如何解读?
概念什么是MavenMaven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理。Maven 这个单词的本意是:专家,内行。读音是[‘meɪv(ə)n]或[‘mevn]。什么是构建构建并不是创建,创建一个工程并不等于构建一个项目。要了解构建的含义我们应该由浅入深的从以下三个层面来看:纯 Java 代码大家都知道,我们 Java 是一门编译型语言,.java 扩展名的源文件需要编译成.class 扩展名的字节码文件才能够执行。所以转载 2020-08-30 14:14:19 · 585 阅读 · 0 评论 -
Maven构建生命周期
1、什么是构建生命周期构建生命周期是一组阶段的序列(sequence of phases),每个阶段定义了目标被执行的顺序。这里的阶段是生命周期的一部分。举个栗子,一个典型的 Maven 构建生命周期是由以下几个阶段的序列组成的:阶段 处理 描述 prepare-resources 资源拷贝 本阶段可以自定义需要拷贝的资源 compile 编译 ...原创 2020-04-23 21:29:28 · 692 阅读 · 0 评论 -
Maven的pom.xml文件
目录1、Maven - POM2、POM 举例3、Super POM1、Maven - POMPOM 代表工程对象模型。它是使用 Maven 工作时的基本组建,是一个 xml 文件。它被放在工程根目录下,文件命名为 pom.xml。POM 包含了关于工程和各种配置细节的信息,Maven 使用这些信息构建工程。POM 也包含了目标和插件。当执行一个任务或者目标时,Mave...原创 2020-04-22 21:24:39 · 906 阅读 · 0 评论 -
Maven环境配置
目录1、Maven – 环境配置2、系统要求3、Apache Maven 环境配置3.1检查 Java 安装3.2 设置 Java环境3.3 下载 Maven 文件3.4解压 Maven 文件3.5 设置 Maven 环境变量3.6 添加 Maven bin 目录到系统路径中3.7 验证 Maven 安装1、Maven – 环境配置Maven 是...原创 2020-04-21 22:20:19 · 461 阅读 · 0 评论 -
Maven概述
目录1、Maven是什么?2、Maven的历史3、Maven的目标4、Maven的特点5、约定优于配置6、常用命令1、Maven是什么?Maven 是一个项目管理和整合工具。Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。Maven 为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够...原创 2020-04-21 21:55:47 · 527 阅读 · 0 评论