【已解決】在Spring Boot工程中,若未識別到resources/db文件夾下的SQL文件

在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;…