idea報錯:java程序包com.github.xiaoymin.knife4j.spring.annotations不存在問題解決
問題描述
在瑞吉外賣中添加swagger的相關(guān)配置,啟動項目后報錯:
分析與解決
java: 程序包com.github.xiaoymin.knife4j.spring.annotations不存在
,首先思路是查看本地倉庫是否有對應(yīng)的jar包
或者 是否導(dǎo)入了相關(guān)依賴
。
排查過程如下:
根據(jù)上圖,發(fā)現(xiàn)本地倉庫已有對應(yīng)的jar包,而且我已正確導(dǎo)入依賴,那么問題出在哪?
經(jīng)過一番搜索,類似的問題給我提供了思路:
選中jar包所在依賴包,右鍵選擇 Open library settings
在彈出的對話框中,復(fù)制依賴包的名字
打開項目的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)新的問題:
還是采用上面的思路進行排查,此次點擊藍色鏈接并沒有跳轉(zhuǎn)到導(dǎo)包語句,而是直接定位到具體的代碼,所以直接在左側(cè)查找org.springframework.plugin.core
依賴包,發(fā)現(xiàn)Plugin的類文件
是存在的,只不過編譯器找不到而已。
解決方案依然是在reggie_take_out.iml中添加相關(guān)配置:
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE" level="project" />
重啟項目,啟動成功。
拓展與總結(jié)
為了以后能快速解決類似問題,有必要了解一下iml文件。chatgpt給出如下回答:
在 IntelliJ IDEA 中,后綴為 iml 的文件是指 Module File,即模塊文件。每個 IDEA 項目都由一個或多個模塊組成,每個模塊都有一個相應(yīng)的 iml 文件。iml 文件包含有關(guān)模塊的信息,例如模塊的名稱、源代碼和資源文件的目錄位置、依賴項、輸出路徑等。一個項目的 iml 文件可以在項目文件夾下找到。
iml 文件的作用是將模塊與項目相關(guān)聯(lián),使得 IDEA 能夠正確地加載和處理模塊的所有信息和依賴項。iml 文件還可以保存一些模塊特定的設(shè)置,例如代碼風(fēng)格、編譯選項、測試配置等。由于 iml 文件是與模塊相關(guān)聯(lián)的,因此每個模塊都必須有一個相應(yīng)的 iml 文件,否則該模塊將無法在 IDEA 中正確加載和處理。
出現(xiàn)此類問題的原因是idea
沒有正確地加載依賴項。正常情況下,在pom.xml
文件中導(dǎo)入依賴后,maven
會自動下載依賴包到本地倉庫,如果發(fā)現(xiàn)無法使用,可以在iml
文件中添加相關(guān)的依賴項。
到此這篇關(guān)于idea報錯:java程序包com.github.xiaoymin.knife4j.spring.annotations不存在的文章就介紹到這了,更多相關(guān)idea報錯java程序包不存在內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 自旋鎖(spinlock)相關(guān)知識總結(jié)
這篇文章主要介紹了Java 自旋鎖(spinlock)相關(guān)知識總結(jié),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2021-02-02Java 帶參數(shù)與帶返回值的方法的定義和調(diào)用
在java中,方法就是用來完成解決某件事情或?qū)崿F(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種設(shè)計模式的一種,他是指一個對象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基于String和List<String>間的相互轉(zhuǎn)換方式
這篇文章主要介紹了基于String和List間的相互轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05