某天在項目開發ing,幾次提交和切分支后,突然發現某個類IDEA提示各種紅線,看提示是類找不到,而這個類去年就添加了,項目里是有的。而更奇怪的是,本地編譯構建啟動項目都沒問題。
嘗試如下操作:
- 刷新maven依賴,然后maven clean並且重新install,整個項目和下面子項目編譯打包都沒問題
- IDEA中關閉項目,重新File->Open打開項目
- File->Invalidate Caches/Restart,重啟IDEA打開項目
問題仍然存在,該包下的所有類打開后,IDEA都划線錯誤提示。
點擊Build菜單,發現里面Build Project和Compile是灰色禁用了,該類所在的包下所有類都是如此。
推測可能包在Project工程里有設置被排除了,在項目中的.iml文件中搜索該包名稱,沒有搜到。
對該包右鍵->Mark Directory As,發現里面是有1個Template Folder選項,並且是灰色的不可選;
而對其它正常的包,右鍵->Mark Directory As,里面有2個項目,Excluded和Template Folder,並且都可選。
嘗試對該包右鍵->Refactor->Rename,修改名稱時提示this file does not belong to the project
跟推測一致,於是把項目關閉,在終端中cd切換到工程目錄:
ll -a
rm -rf .idea
把.idea工程配置文件刪除,然后在IDEA中重新打開項目,問題解決!
分析原因可能某個操作不小心把該包在工程排除了,因此打開包下的類IDEA無法識別其中的依賴類,出現划線錯誤提示。
在學習Dubbo時也遇到了該問題,從master分支切換tag到2.6.6,引用dubbo-demo-api
工程里的DemoService
接口IDEA報錯,刪除工程下的.idea目錄重新打開項目解決。