idea報錯:java程序包com.github.xiaoymin.knife4j.spring.annotations不存在問題解決
問題描述
在瑞吉外賣中添加swagger的相關配置,啟動項目后報錯:
分析與解決
java: 程序包com.github.xiaoymin.knife4j.spring.annotations不存在
,首先思路是查看本地倉庫是否有對應的jar包
或者 是否導入了相關依賴
。
排查過程如下:
根據(jù)上圖,發(fā)現(xiàn)本地倉庫已有對應的jar包,而且我已正確導入依賴,那么問題出在哪?
經(jīng)過一番搜索,類似的問題給我提供了思路:
選中jar包所在依賴包,右鍵選擇 Open library settings
在彈出的對話框中,復制依賴包的名字
打開項目的iml文件(reggie_take_out.iml),添加如下配置:
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-boot-autoconfigure:3.0.2" level="project" />
將其余報錯按如上三步進行處理,在reggie_take_out.iml中添加配置:
<orderEntry type="library" name="Maven: io.springfox:springfox-core:3.0.0" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-spi:3.0.0" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:3.0.0" level="project" /> <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:3.0.0" level="project" />
一頓操作后,出現(xiàn)新的問題:
還是采用上面的思路進行排查,此次點擊藍色鏈接并沒有跳轉到導包語句,而是直接定位到具體的代碼,所以直接在左側查找org.springframework.plugin.core
依賴包,發(fā)現(xiàn)Plugin的類文件
是存在的,只不過編譯器找不到而已。
解決方案依然是在reggie_take_out.iml中添加相關配置:
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE" level="project" />
重啟項目,啟動成功。
拓展與總結
為了以后能快速解決類似問題,有必要了解一下iml文件。chatgpt給出如下回答:
在 IntelliJ IDEA 中,后綴為 iml 的文件是指 Module File,即模塊文件。每個 IDEA 項目都由一個或多個模塊組成,每個模塊都有一個相應的 iml 文件。iml 文件包含有關模塊的信息,例如模塊的名稱、源代碼和資源文件的目錄位置、依賴項、輸出路徑等。一個項目的 iml 文件可以在項目文件夾下找到。
iml 文件的作用是將模塊與項目相關聯(lián),使得 IDEA 能夠正確地加載和處理模塊的所有信息和依賴項。iml 文件還可以保存一些模塊特定的設置,例如代碼風格、編譯選項、測試配置等。由于 iml 文件是與模塊相關聯(lián)的,因此每個模塊都必須有一個相應的 iml 文件,否則該模塊將無法在 IDEA 中正確加載和處理。
出現(xiàn)此類問題的原因是idea
沒有正確地加載依賴項。正常情況下,在pom.xml
文件中導入依賴后,maven
會自動下載依賴包到本地倉庫,如果發(fā)現(xiàn)無法使用,可以在iml
文件中添加相關的依賴項。
到此這篇關于idea報錯:java程序包com.github.xiaoymin.knife4j.spring.annotations不存在的文章就介紹到這了,更多相關idea報錯java程序包不存在內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java 帶參數(shù)與帶返回值的方法的定義和調(diào)用
在java中,方法就是用來完成解決某件事情或實現(xiàn)某個功能的辦法。方法實現(xiàn)的過程中,會包含很多條語句用于完成某些有意義的功能——通常是處理文本,控制輸入或計算數(shù)值,這篇文章我們來探究一下帶參數(shù)與帶返回值的方法的定義和調(diào)用2022-04-04springboot如何接收application/x-www-form-urlencoded類型的請求
這篇文章主要介紹了springboot如何接收application/x-www-form-urlencoded類型的請求,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Java兩種動態(tài)代理JDK動態(tài)代理和CGLIB動態(tài)代理詳解
這篇文章主要介紹了Java兩種動態(tài)代理JDK動態(tài)代理和CGLIB動態(tài)代理詳解,代理模式是23種設計模式的一種,他是指一個對象A通過持有另一個對象B,可以具有B同樣的行為的模式,為了對外開放協(xié)議,B往往實現(xiàn)了一個接口,A也會去實現(xiàn)接口,需要的朋友可以參考下2023-11-11Maven?項目用Assembly打包可執(zhí)行jar包的方法
這篇文章主要介紹了Maven?項目用Assembly打包可執(zhí)行jar包的方法,該方法只可打包非spring項目的可執(zhí)行jar包,需要的朋友可以參考下2023-03-03