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)文章
我從jdk1.8升級(jí)到j(luò)dk11所遇到的坑都有這些
這篇文章主要介紹了從jdk1.8升級(jí)到j(luò)dk11將會(huì)遇到的一些坑,本文給大家分享解決方案對(duì)大家的學(xué)習(xí)或工作具有參考借鑒價(jià)值,對(duì)jdk1.8升級(jí)到j(luò)dk11相關(guān)知識(shí)感興趣的朋友,快來看看吧2021-08-08
shiro+jwt登陸驗(yàn)證實(shí)現(xiàn)教程
本文介紹了如何使用Shiro和JWT實(shí)現(xiàn)登錄認(rèn)證,并通過自定義Realm和過濾器來完成身份驗(yàn)證和授權(quán),通過測(cè)試,展示了如何攜帶JWT令牌進(jìn)行接口訪問,并驗(yàn)證了其有效期2026-03-03
SpringBoot?把PageHelper分頁信息返回給前端的方法步驟
本文主要介紹了SpringBoot?把PageHelper分頁信息返回給前端的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01
SpringBoot多環(huán)境開發(fā)與日志小結(jié)
這篇文章主要介紹了SpringBoot多環(huán)境開發(fā)與日志,下面給大家說一下如何基于多環(huán)境開發(fā)做配置獨(dú)立管理,務(wù)必掌握,需要的朋友可以參考下2022-08-08
Dwr3.0純注解(純Java Code配置)配置與應(yīng)用淺析二之前端調(diào)用后端
我們講到了后端純Java Code的Dwr3配置,完全去掉了dwr.xml配置文件,但是對(duì)于使用注解的類卻沒有使用包掃描,而是在Servlet初始化參數(shù)的classes里面加入了我們的Service組件的聲明暴露,對(duì)于這個(gè)問題需要后面我們?cè)偌?xì)細(xì)研究下這篇文章,主要分析介紹前端怎么直接調(diào)用后端2016-04-04
java按照模板導(dǎo)出pdf或word文件詳細(xì)代碼
有時(shí)候業(yè)務(wù)中我們需要使用pdf模板生成一份pdf文件,下面這篇文章主要給大家介紹了關(guān)于java按照模板導(dǎo)出pdf或word文件的相關(guān)資料,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下2023-11-11
RocketMQ生產(chǎn)者調(diào)用start發(fā)送消息原理示例
這篇文章主要為大家介紹了RocketMQ生產(chǎn)者調(diào)用start發(fā)送消息原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
淺談springioc實(shí)例化bean的三個(gè)方法
下面小編就為大家?guī)硪黄獪\談springioc實(shí)例化bean的三個(gè)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就想給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
SpringBoot使用Thymeleaf自定義標(biāo)簽的實(shí)例代碼
這篇文章主要介紹了SpringBoot使用Thymeleaf自定義標(biāo)簽的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09

