在Spring Boot工程中,若未识别到resources/db文件夹下的SQL文件,通常与资源路径配置、构建工具设置或代码加载方式有关。以下是逐步排查和解决方案:

​1. 确认SQL文件存放路径​

Spring Boot默认从类路径(classpath:)加载资源,标准资源目录为src/main/resources。确保SQL文件存放于:

src/main/resources/db/

编译后,文件应被复制到输出目录的classes/db/下(如Maven的target/classes/db/或Gradle的build/classes/java/main/db/)。

​2. 检查构建工具资源配置​

构建工具(Maven/Gradle)可能因自定义配置排除了db目录,导致文件未被打包。

​Maven项目​

检查pom.xml中的<resources>配置,确保未排除db目录:

<build><resources><resource><directory>src/main/resources</directory><!-- 确保没有排除db目录 --><!-- <excludes><exclude>db/**</exclude></excludes> --> </resource></resources>
</build>
​Gradle项目​

检查build.gradle中的sourceSets配置,确保包含db目录:

sourceSets {main {resources {srcDirs = ['src/main/resources']// 确保包含db目录(默认已包含,无需额外配置)}}
}

​3. 显式配置SQL文件路径(关键)​

若通过Spring Boot自动初始化数据库(如schema.sql/data.sql),需在application.propertiesapplication.yml中​​显式指定路径​​(默认仅加载根路径的schema.sql/data.sql)。

示例配置:
# application.properties
# 加载db目录下的schema.sql(建表语句)
spring.datasource.schema=classpath:db/schema.sql
# 加载db目录下的data.sql(插入数据)
spring.datasource.data=classpath:db/data.sql
# application.yml
spring:datasource:schema: classpath:db/schema.sqldata: classpath:db/data.sql

​4. 其他场景:手动加载SQL文件​

若在代码中手动加载(如通过JdbcTemplate@Sql注解),需使用正确的类路径前缀。

示例1:通过@Sql注解(测试场景)
@SpringBootTest
@Sql(scripts = "classpath:db/init-test.sql") // 指向db目录下的init-test.sql
public class MyServiceTest {// ...
}
示例2:通过JdbcTemplate执行
@Autowired
private JdbcTemplate jdbcTemplate;public void init() {// 读取db目录下的script.sqlResource resource = new ClassPathResource("db/script.sql");String sql = new String(resource.getInputStream().readAllBytes());jdbcTemplate.execute(sql);
}

​5. 验证文件是否被正确打包​

构建项目后,检查输出目录(如target/classes/db/)是否存在SQL文件:

  • Maven:执行mvn clean package,查看target/classes/db/

  • Gradle:执行gradle clean build,查看build/classes/java/main/db/

​6. 其他注意事项​

  • ​数据库方言与初始化顺序​​:若使用Hibernate,确保spring.jpa.hibernate.ddl-auto=none(避免Hibernate自动生成DDL覆盖schema.sql)。

  • ​外部配置覆盖​​:若通过--spring.config.location指定外部配置,需确认配置中包含spring.datasource.schema路径。

  • ​IDE缓存问题​​:重启IDE或清理缓存(如IntelliJ的File > Invalidate Caches)。

​总结​

核心步骤:

  1. 确认SQL文件在src/main/resources/db/下;

  2. 检查构建工具未排除该目录;

  3. application.properties中显式配置spring.datasource.schema/data路径;

  4. 手动加载时使用classpath:db/xxx.sql前缀。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/918911.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/918911.shtml
英文地址,请注明出处:http://en.pswp.cn/news/918911.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】网络编程(4)

1. 再谈 UDP 报文长度&#xff1a;也是 2 个字节&#xff0c; 0 - 65535&#xff0c;也就是 64 kb。这表示一个 UDP 数据包一次最多只能传输 64 kb 的数据校验和&#xff1a;验证数据是否在传输过程中发生修改。数据在传输过程中可能受到信号干扰&#xff0c;发生 “比特翻转”…

QT(事件)

一、事件前言事件是QT的三大机制之一&#xff0c;一定程度上信号和槽也属于事件的一种 QT中的事件指哪些&#xff1a;窗口关闭&#xff0c;窗口显示&#xff0c;敲击键盘&#xff0c;点击鼠标左键、鼠标右键、鼠标滚轮&#xff0c;文件拖放等等1、事件循环QT中的所有事件&#…

基于 Vue2+Quill 的富文本编辑器全方案:功能实现与样式优化

在 Web 开发中&#xff0c;富文本编辑器是内容管理系统、博客平台等应用的核心组件。本文将详细介绍如何基于 Vue 和 Quill 构建一个功能完善、样式精美的富文本编辑器&#xff0c;重点解决字体字号选项冗长、样式不美观及功能完整性问题&#xff0c;提供可直接部署使用的完整方…

C#内嵌字符串格式化输出

内嵌字符串格式输出 double speedOfLight 299792.458;System.Globalization.CultureInfo.CurrentCulture System.Globalization.CultureInfo.GetCultureInfo("nl-NL"); string messageInCurrentCulture $"The speed of light is {speedOfLight:N3} km/s.&quo…

ThreeJS程序化生成城市大场景底座(性能测试)

一、简介基于矢量geojson数据构建建筑、植被、道路等&#xff0c;实现城市场景底座。涉及渲染的性能优化无非就是众所周知的那些事儿。视锥剔除、mesh合并、减少draw call、四叉树、八叉树、数据压缩、WebWorker、着色器优化等。下面是对东莞市数十万建筑以及海量3D树的渲染测试…

​电风扇离线语音芯片方案设计与应用场景:基于 8 脚 MCU 与 WTK6900P 的创新融合

​电风扇离线语音芯片方案设计与应用场景&#xff1a;基于 8 脚 MCU 与 WTK6900P 的创新融合一、引言在智能家居领域蓬勃发展的当下&#xff0c;用户对于家电产品的智能化和便捷性需求日益增长。传统的电风扇控制方式&#xff0c;如按键操作或遥控器控制&#xff0c;在某些场景…

(第四篇)spring cloud之Consul注册中心

目录 一、介绍 二、安装 三、整合代码使用 1、创建服务提供者8006 2、创建服务消费者80 3、Eureka、zookeeper和consul的异同点 一、介绍 Consul 是一套开源的分布式服务发现和配置管理系统&#xff0c;由 HashiCorp 公司用 Go 语言开发。它提供了微服务系统中的服务治理…

NAT 和 PNAT

核心概念与背景 IPv4 地址枯竭&#xff1a; IPv4 地址空间有限&#xff08;约 42.9 亿个&#xff09;&#xff0c;早已分配殆尽。NAT/PNAT 是缓解此问题的最重要、最广泛部署的技术。私有 IP 地址空间&#xff1a; IANA 保留了三个 IPv4 地址段专供私有网络内部使用&#xff08…

windows系统创建FTP服务

一丶开启FTP功能 控制面板->程序与功能->启用或关闭windows功能->Internet Information Services->勾选FTP服务器二丶创建FTP服务 1丶控制面板->windows工具->Internet Information Services (IIS) 管理器2丶网站->添加FTP站点->输入对应内容3丶点击新…

DeepSeek补全IBM MQ 9.4 REST API 执行命令的PPT

DeepSeek补全了我在网上找到的PPT的一页内容&#xff0c;帮了大忙了。人机协同&#xff0c;人工智能可以协助人更好的做事。下面的内容是讲解IBM MQ REST API 执行IBM MQ命令的PPT: MQSC for REST Tailored RESTful support for individual MQ objects and actions are in the …

【swift】SwiftUI动画卡顿全解:GeometryReader滥用检测与Canvas绘制替代方案

SwiftUI动画卡顿全解&#xff1a;GeometryReader滥用检测与Canvas绘制替代方案一、GeometryReader的性能陷阱深度解析1. 布局计算机制2. 动画中的灾难性表现二、GeometryReader滥用检测系统1. 静态代码分析器2. 运行时性能监控三、Canvas绘制优化方案1. 基础Canvas实现2. 性能优…

悄悄话、合唱层次感:声网空间音频解锁语聊新玩法

作为语聊房主播&#xff0c;我曾觉得线上相聚差点意思。多人开麦时声音混杂&#xff0c;互动缺真实感&#xff0c;观众留不住&#xff0c;自己播着也没劲。直到平台接入声网空间音频&#xff0c;一切改观&#xff0c;观众说像在真实房间聊天&#xff0c;留存率涨 35%&#xff0…

【工具】多图裁剪批量处理工具

文章目录工具核心功能亮点1. 批量上传与智能管理2. 精准直观的裁剪控制3. 一键应用与批量处理为什么这个工具能提升你的工作效率&#xff1f;统一性与一致性保证节省90%以上的时间专业级功能&#xff0c;零学习成本实际应用场景电子商务摄影工作内容创作教育领域技术优势完全在…

如何提升需求分析能力

要系统性地提升需求分析能力&#xff0c;核心在于实现从一个被动的“需求记录员”&#xff0c;向一个主动的、价值驱动的“业务问题解决者”的深刻转型。要完成这一蜕变&#xff0c;必须在五个关键领域进行系统性的修炼与实践&#xff1a;培养“穿透表象”的系统思维能力、掌握…

另类的pdb恢复方式

cdb中有pdb1,pdb2 需求&#xff1a;希望将在线热备份pdb1的备份集a&#xff0c;恢复成pdb3&#xff0c;使得cdb中有pdb1,2,3 参考到的&#xff1a;RMAN备份恢复典型案例——跨平台迁移pdb - 墨天轮 ORA-65122: Pluggable Database GUID Conflicts With The GUID Of An Existi…

HarmonyOS 实战:用 @Observed + @ObjectLink 玩转多组件实时数据更新

摘要 在鸿蒙&#xff08;HarmonyOS&#xff09;应用开发中&#xff0c;实时数据更新是一个绕不开的话题&#xff0c;尤其是在你封装了很多自定义组件、需要多个组件之间共享和同步数据的场景里。过去我们可能会依赖父子组件直接传参或全局状态管理&#xff0c;但这样写会让代码…

云原生俱乐部-杂谈2

说实话&#xff0c;杂谈系列可能会比较少&#xff0c;因为毕竟大部分时间都是上的线上&#xff0c;迄今为止也是&#xff0c;和雷老师与WH的交流不是很多。这个系列仅仅是我在做其他笔记部分无聊的时候来写的&#xff0c;内容也没有规划过&#xff0c;随想随写。倒不是时间太多…

波浪模型SWAN学习(1)——模型编译与波浪折射模拟(Test of the refraction formulation)

SWAN模型编译与波浪折射模拟&#xff08;Test of the refraction formulation&#xff09;编译过程算例简介参数文件文件头&#xff08;HEADING&#xff09;计算区域和网格地形数据边界条件物理模块设置输出设置执行参数模拟结果由于工作原因&#xff0c;最近开始接触波浪模型&…

更换cmd背景图片

打开cmd 右击顶部&#xff0c;选择设置选择命令提示符&#xff0c;外观选择背景图像路径更改成自己的图片&#xff0c;然后右下角保存 设置成功

基于RobustVideoMatting(RVM)进行视频人像分割(torch、onnx版本)

发表时间&#xff1a;2021年8月25日 项目地址&#xff1a;https://peterl1n.github.io/RobustVideoMatting/ 论文阅读&#xff1a;https://hpg123.blog.csdn.net/article/details/134409222 RVM是字节团队开源的一个实时人像分割模型&#xff0c;基于LSTMConv实现&#xff0c;…