SpringBoot目錄變文件夾的原因和解決方案
問題原因
IDE 未正確識(shí)別 Java 源代碼根目錄
src/main/java
沒有被標(biāo)記為 Sources Root(源代碼根目錄)- 導(dǎo)致 IDE 將其視為普通文件夾而非 Java 包結(jié)構(gòu)
包名不符合 Java 規(guī)范
- Java 包名要求全小寫字母(如
com.example
) - 如果目錄名包含大寫字母或非法字符(如
SpringbootMybatisDay10A
),IDE 可能不會(huì)識(shí)別為包
項(xiàng)目構(gòu)建工具配置問題
- Maven/Gradle 配置錯(cuò)誤,未正確指定源代碼路徑
解決方案
方法 1:在 IDE 中標(biāo)記源代碼根目錄(推薦)
以 IntelliJ IDEA 為例:
- 右鍵點(diǎn)擊
src/main/java
目錄 - 選擇 Mark Directory as → Sources Root
Project └── src └── main ├── java [Mark as Sources Root] ? └── resources
- 刷新項(xiàng)目:IDE 會(huì)自動(dòng)將目錄轉(zhuǎn)換為包結(jié)構(gòu)
方法 2:修正包名(全小寫)
- 將包名改為全小寫(Java 規(guī)范要求):
- com.shmily.springbootmybatisday10.mapper.SpringbootMybatisDay10A + com.shmily.springbootmybatisday10.mapper.springbootmybatisday10a
- 在 IDE 中重命名目錄:
- 右鍵目錄 → Refactor → Rename
- 使用全小寫格式(如
springbootmybatisday10a
)
方法 3:檢查 Maven 配置
確保 pom.xml
正確指定了源代碼目錄:
<build> <sourceDirectory>src/main/java</sourceDirectory> </build>
方法 4:重建項(xiàng)目結(jié)構(gòu)
如果以上無效,手動(dòng)創(chuàng)建包:
- 在
src/main/java
下右鍵 → New → Package - 按層級(jí)輸入包名(用
.
分隔):
com.shmily.springbootmybatisday10.mapper
- IDE 會(huì)自動(dòng)生成嵌套的包結(jié)構(gòu):
src/main/java └── com └── shmily └── springbootmybatisday10 └── mapper [Package圖標(biāo)]
預(yù)期效果 vs 錯(cuò)誤效果
正確狀態(tài)(包) | 錯(cuò)誤狀態(tài)(目錄) |
---|---|
顯示為 黃色圓點(diǎn)圖標(biāo) | 顯示為 普通文件夾圖標(biāo) |
可創(chuàng)建 Java 類文件 | 無法直接創(chuàng)建 Java 類 |
包名用 . 分隔層級(jí) | 目錄名顯示完整路徑 |
預(yù)防措施
- 創(chuàng)建項(xiàng)目時(shí)使用正確命名:
在 Spring Initializr 中,使用全小寫的 Group 和 Artifact:
Group: com.shmily Artifact: springbootmybatisday10
- 避免手動(dòng)創(chuàng)建目錄:
- 始終通過 IDE 的 New → Package 創(chuàng)建包
- 檢查項(xiàng)目配置:
- 確保
src/main/java
是 Sources Root - 確保
src/test/java
是 Test Sources Root
- 確保
在 IntelliJ IDEA 中,黃色 圖標(biāo)表示 Java 包,藍(lán)色 圖標(biāo)表示普通目錄。通過正確標(biāo)記 Sources Root,你的目錄結(jié)構(gòu)會(huì)自動(dòng)轉(zhuǎn)換為包結(jié)構(gòu)。
到此這篇關(guān)于SpringBoot目錄變文件夾的原因和解決方案的文章就介紹到這了,更多相關(guān)SpringBoot目錄變文件夾內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot實(shí)現(xiàn)ORM操作MySQL的幾種方法
本文主要介紹了SpringBoot實(shí)現(xiàn)ORM操作MySQL的幾種方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Java+swing實(shí)現(xiàn)抖音上的表白程序詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Java?swing實(shí)現(xiàn)抖音上的表白程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-06-06MybatisPlus使用注解的多對(duì)多級(jí)聯(lián)查詢方式
這篇文章主要介紹了MybatisPlus使用注解的多對(duì)多級(jí)聯(lián)查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07詳解Java項(xiàng)目中讀取properties文件
本篇文章主要介紹了Java項(xiàng)目中讀取properties文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-12-12Java 8對(duì)LinkedList元素進(jìn)行排序的方法詳解
在Java中,LinkedList是一種基于鏈表的數(shù)據(jù)結(jié)構(gòu),與ArrayList相比,它在進(jìn)行插入和刪除操作時(shí)表現(xiàn)出更好的性能,然而,LinkedList的元素排序也是開發(fā)中常見的需求之一,本文介紹了Java8對(duì)LinkedList元素進(jìn)行排序的方法,需要的朋友可以參考下2024-11-11一文帶你學(xué)會(huì)Java網(wǎng)絡(luò)編程
網(wǎng)絡(luò)編程是指編寫運(yùn)行在多個(gè)設(shè)備(計(jì)算機(jī))的程序,這些設(shè)備都通過網(wǎng)絡(luò)連接起來。這篇文章將帶大家深入了解一下Java的網(wǎng)絡(luò)編程,需要的可以了解一下2022-08-08解決IDEA創(chuàng)建maven項(xiàng)目時(shí)pom.xml沒有變藍(lán)的問題
這篇文章主要介紹了解決IDEA創(chuàng)建maven項(xiàng)目時(shí)pom.xml沒有變藍(lán)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08