maven依赖查找官网
dependencyManagement
dependency 真正引入依赖,而 dependencyManagement 只是声明依赖版本等信息,并不实际引入。一般使用在父模块中,子模块声明这个依赖的时候,就不需要声明版本信息。
其中的<type>pom</type>和<scope>import</scope>引入的不是代码依赖,而是版本管理信息
<relativePath/>
空标签等价于
不要尝试从相对路径查找父 POM,直接去本地仓库和远程仓库寻找。
这是一种显式声明“父 POM 必须从仓库获取” 的方式,可以避免 Maven 因在相对路径查找而浪费时间和产生误导
文章作者: coder-xuyong
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 coder-xuyong!
相关推荐

2026-07-22
jvm面试
JNI是什么Java编译器把Java文件编译为字节码文件之后,jvm执行引擎将字节码指令解释为对应操作系统能运行的指令,这也是为什么Java是编译和解释共存的语言。当Java代码执行的时候,需要调用底层的c或者c++写的本地方法,所以这里就需要本地方法接口(JNI)去和本地方法库做交互。 JVM的垃圾回收机制是怎么样的?想要回收垃圾,先得看一个对象他是不是垃圾,一般有两种方法: 引用计数法:如果对象被引用了,计数器+1,如果取消引用了就-1,计数器为零就可以回收了,简单除暴。但是他无法处理循环引用的问题。 可达性分析:对象A引用B,B引用C,C引用D会形成一个有向图。可达性分析会从根对象(gc root)出发遍历这个有向图,遍历不到的就是不可达对象,就是垃圾。 三色标记法:用于遍历标记判断的,用三种颜色去标记对象的状态。但是存在两个问题,一个是浮动垃圾,另一个是漏标的问题。 判断对象是垃圾之后,就需要使用垃圾回收算法去处理。基础的算法有三种: 标记清除算法:从gc roots 出发,去遍历标记所有可达性的对象,之后遍历堆去清除所有不可达的对象。缺点会产生内存碎片。 标记...

2026-09-04
JDK17新特性
概述 JDK 17 是继 JDK 8 之后最重要的 LTS 版本,支持至 2029 年。Spring 6.x / Spring Boot 3.x 最低要求 Java 17。 Records关键字 一个新的关键字,和class、enum一个级别。是不可变数据载体的终极方案,类似于Lombok功能。特别的是声明的时候就带有参数 解决的问题:传统 POJO/DTO/VO 需要编写私有字段、构造器、getter、equals()、hashCode()、toString() 等大量样板代码。 核心用法: 12345678// 一行代码定义一个不可变数据类public record Point(int x, int y) { }// 使用Point p = new Point(10, 20);System.out.println(p.x()); // 10(注意:是 x(),不是 getX())System.out.println(p); // Point[x=10, y=20]System.out.prin...

2025-09-15
Java 编码和加密
Java 编码和加密Base64 编码Base64 原理Base64 内容传送编码是一种以任意 8 位字节序列组合的描述形式,这种形式不易被人直接识别。 Base64 是一种很常见的编码规范,其作用是将二进制序列转换为人类可读的 ASCII 字符序列,常用在需用通过文本协议(比如 HTTP 和 SMTP)来传输二进制数据的情况下。Base64 并不是加密解密算法,尽管我们有时也听到使用 Base64 来加密解密的说法,但这里所说的加密与解密实际是指编码(encode) 和 解码(decode)的过程,其变换是非常简单的,仅仅能够避免信息被直接识别。 Base64 算法主要是将给定的字符以字符编码(如 ASCII 码,UTF-8 码)对应的十进制数为基准,做编码操作: 将给定的字符串以字符为单位,转换为对应的字符编码。 将获得字符编码转换为二进制 对二进制码做分组转换,每 3 个字节为一组,转换为每 4 个 6 位二进制位一组(不足 6 位时低位补 0)。这是一个分组变化的过程,3 个 8 位二进制码和 4 个 6 位二进制码的长度都是 24 位(3*8 = 4*6 = 24)。...

2025-10-13
SpringBoot 之属性加载详解
加载 property 顺序Spring Boot 加载 property 顺序如下: Devtools 全局配置 (当 devtools 被激活 ~/.spring-boot-devtools.properties). 测试环境中的 @TestPropertySource 注解配置 测试环境中的属性 properties:@SpringBootTest 和 测试注解. 命令行参数 SPRING_APPLICATION_JSON 属性 ServletConfig 初始化参数 ServletContext 初始化参数 JNDI attributes from 通过 java:comp/env 配置的 JNDI 属性 Java 系统属性 (System.getProperties()) 操作系统环境比那里 RandomValuePropertySource 加载 random.* 形式的属性 jar 包外的 application-{profile}.properties 或 application-{profile}.yml 配置 jar ...

2026-08-26
FlowLong工作流引擎
快速入门飞龙流程引擎只有节点这么一个概念,节点分为条件节点、任务节点两种,其中任务节点包含审批任务、定时器任务、触发器任务、子流程任务等。要深入了解飞龙工作流,必须要清楚了解模型、实例、任务的区别,整个框架都在围绕这三个概念执行操作。 相关文档可以查看官方 | 快速入门 模型 流程图(Process Diagram) 活动(Activity) 参与者(Participant) 实例 流程定义 流程状态 执行路径 流程变量 参与者信息 任务 责任人指派 执行条件 执行结果 任务流转 任务通知和提醒 系统通常会提供任务通知和 环境配置 初始化数据库,访问flowlong官方gitee,初始化执行 db/flowlong-mysql.sql 数据库脚本 集成springboot 12345 <dependency> <groupId>com.aizuda</groupId> <artifactId>flowlong-spring-boot-starter</artifactId> <...

2025-10-15
Mybatis原理
Mybatis 原理 Mybatis 的前身就是 iBatis ,是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。本文以一个 Mybatis 完整示例为切入点,结合 Mybatis 底层源码分析,图文并茂的讲解 Mybatis 的核心工作机制。 Mybatis 生命周期 SqlSessionFactoryBuilderSqlSessionFactoryBuilder 的职责SqlSessionFactoryBuilder 负责创建 SqlSessionFactory 实例。SqlSessionFactoryBuilder 可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。 Configuration 类包含了对一个 SqlSessionFactory 实例你可能关心的所有内容。 SqlSessionFactoryBuilder 应用了建造者设计模式,它有五个 build 方法,允许你通过不同的资源创建 SqlSessionFactory 实例。 12345SqlSessionFa...
评论
