国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - 悲劇!IDEA 突然找不到類(lèi)了?

悲劇!IDEA 突然找不到類(lèi)了?

2021-07-29 23:42小黑十一點(diǎn)半樓下小黑哥 Java教程

我們本地使用 IDEA 運(yùn)行 maven 項(xiàng)目的時(shí)候,有時(shí)候運(yùn)氣不好,就會(huì)遇到某些 maven 依賴(lài)無(wú)法正常找到、導(dǎo)入。這就會(huì)導(dǎo)致 IDEA 構(gòu)建項(xiàng)目的時(shí)候爆出一堆醒目的紅色 Error。

 悲劇!IDEA 突然找不到類(lèi)了?

Hello,大家好,我是樓下小黑哥~

我們本地使用 IDEA 運(yùn)行 maven 項(xiàng)目的時(shí)候,有時(shí)候運(yùn)氣不好,就會(huì)遇到某些 maven 依賴(lài)無(wú)法正常找到、導(dǎo)入。這就會(huì)導(dǎo)致 IDEA 構(gòu)建項(xiàng)目的時(shí)候爆出一堆醒目的紅色 Error。

悲劇!IDEA 突然找不到類(lèi)了?

圖片來(lái)自網(wǎng)絡(luò)

那最近小黑哥新拉取一個(gè)項(xiàng)目源碼,本地運(yùn)行項(xiàng)目,又碰到這種情況。按照以前的解決經(jīng)驗(yàn),搗鼓了一下,發(fā)現(xiàn)沒(méi)辦法解決。于是研究了一下午,終于解決這個(gè)問(wèn)題??。

吐槽一下,剛開(kāi)始一度以為是這個(gè)項(xiàng)目有問(wèn)題,找了一個(gè)同事,發(fā)現(xiàn)他的電腦是卻可以正常運(yùn)行這個(gè)項(xiàng)目。

那今天這篇的文章,總結(jié)一下 IDEA 運(yùn)行 maven 項(xiàng)目找不到相關(guān)依賴(lài)報(bào)錯(cuò)的問(wèn)題原因以及解決辦法。

悲劇!IDEA 突然找不到類(lèi)了?

網(wǎng)絡(luò)問(wèn)題,無(wú)法下載 maven 依賴(lài)

Maven 默認(rèn)的中央倉(cāng)庫(kù)地址為 http://search.maven.org/#browse,那這是一個(gè)外網(wǎng)的地址。

而我們國(guó)內(nèi)訪問(wèn)外網(wǎng)地址,網(wǎng)絡(luò)速度不僅慢,網(wǎng)絡(luò)質(zhì)量還差。這就導(dǎo)致了maven 依賴(lài)下載速度過(guò)慢,有時(shí)候下載還可能會(huì)失敗。

maven 依賴(lài)下載失敗,這就會(huì)導(dǎo)致 IDEA 找不到相關(guān)依賴(lài)。

那這個(gè)問(wèn)題解決辦法也比較簡(jiǎn)單,我們可以通過(guò)設(shè)置鏡像(mirrors)地址解決。

打開(kāi)我們本地 maven 配置文件,默認(rèn)地址如下:${user.home}/.m2/settings.xml,然后找到 mirrors節(jié)點(diǎn),在這下面添加以下配置:

  1. <mirrors> 
  2.     <mirror> 
  3.       <id>alimaven</id> 
  4.       <name>aliyun maven</name
  5.       <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
  6.       <mirrorOf>central</mirrorOf>         
  7.     </mirror> 
  8. </mirrors> 

lastUpdated 文件導(dǎo)致依賴(lài)無(wú)法正常導(dǎo)入

當(dāng)你更新鏡像地址之后,有可能還會(huì)碰到 maven 依賴(lài)無(wú)法導(dǎo)入,那恭喜你碰到第二個(gè)問(wèn)題了。

maven 依賴(lài)下載的時(shí)候,如果碰到網(wǎng)絡(luò)較差,依賴(lài)下載失敗,maven 本地將會(huì)生成 lastUpdated 為后綴的文件。

悲劇!IDEA 突然找不到類(lèi)了?

那正常的 maven 依賴(lài)如下

悲劇!IDEA 突然找不到類(lèi)了?

lastUpdated 為后綴的文件作用如下:

悲劇!IDEA 突然找不到類(lèi)了?

只要 lastUpdated 文件存在,maven 依賴(lài)將不會(huì)重新下載,所以做簡(jiǎn)單的方法就是,刪除 lastUpdated 文件,重新刷新下載即可。

這里提供一鍵刪除 lastUpdated 文件腳本(macos)

  1. # 這里寫(xiě)你的倉(cāng)庫(kù)路徑 
  2. REPOSITORY_PATH=~/.m2/repository 
  3. echo 正在搜索... 
  4. find $REPOSITORY_PATH -name "*lastUpdated*" | xargs rm -fr 
  5. echo 搜索完 

windows 腳本如下:

  1. # windows腳本 
  2. @echo off 
  3. rem create by NettQun 
  4.    
  5. rem 這里寫(xiě)你的倉(cāng)庫(kù)路徑 
  6. set REPOSITORY_PATH=D:\Java\maven-repository\maven-aliyun\repository 
  7. rem 正在搜索... 
  8. for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do ( 
  9.     echo %%i 
  10.     del /s /q "%%i" 
  11. rem 搜索完畢 
  12. pause 

maven 依賴(lài)沖突,引用錯(cuò)誤

前兩個(gè)問(wèn)題主要跟本地網(wǎng)絡(luò)有比較大的關(guān)系,那這個(gè)問(wèn)題,主要是因?yàn)?maven 特性導(dǎo)致。

那 maven 有一個(gè)依賴(lài)傳遞的特性,如果 A 依賴(lài) B,而 B 依賴(lài) C,那么 C 這個(gè)依賴(lài)就會(huì)通過(guò) B 間接傳遞給 A。

悲劇!IDEA 突然找不到類(lèi)了?

那如果有多個(gè)間接依賴(lài)存在,但是彼此版本卻不一樣,這就會(huì)導(dǎo)致依賴(lài)沖突。

悲劇!IDEA 突然找不到類(lèi)了?

如上所示,如果 A 應(yīng)用 使用了 E2.0 新增某些類(lèi)或者方法,那這個(gè)時(shí)候由于依賴(lài)沖突,A 實(shí)際上間接依賴(lài)的是 E1.0,這就導(dǎo)致 IDEA 編譯的時(shí)候找不到 E 新增這些類(lèi)或方法。

那這個(gè)問(wèn)題解決辦法,也比較簡(jiǎn)單,有沖突,我們就直接解決沖突就可以了。

我們可以在 IDEA 中安裝一個(gè) Maven Helper 插件,然后打開(kāi) pom 文件,點(diǎn)擊 Dependency Analyzer 選項(xiàng),在這里面選中 Conflicts 按鈕,就可以看到當(dāng)前所有沖突的依賴(lài)包。

選中其中一個(gè)依賴(lài)包,就可以在右側(cè)看到所有沖突依賴(lài)包的版本。選中其中一個(gè)版本,右鍵選中 Exclude 即可。

悲劇!IDEA 突然找不到類(lèi)了?

上面的辦法我們通過(guò)排除其他間接依賴(lài)從而解決問(wèn)題。那下面還有一種解決辦法,將間接依賴(lài)轉(zhuǎn)化為直接依賴(lài)。

我們可以把間接依賴(lài)直接寫(xiě)在項(xiàng)目 pom 文件里,這樣 maven 將會(huì)直接使用這個(gè)依賴(lài),其他間接依賴(lài)將會(huì)失效。

maven 間接依賴(lài)異常

這個(gè)問(wèn)題,就比較詭異,這也是文章剛開(kāi)頭提到那個(gè)問(wèn)題。

項(xiàng)目中依賴(lài)關(guān)系如下所示。

悲劇!IDEA 突然找不到類(lèi)了?

A 應(yīng)用依賴(lài) B ,那 B 是一個(gè)開(kāi)源項(xiàng)目,但是公司內(nèi)部對(duì) B 進(jìn)行一些修改。修改之后, B 依賴(lài) C ,所以 A 中使用 C 依賴(lài)某些類(lèi)。

那由于我本地倉(cāng)庫(kù)已經(jīng)下載了 B 開(kāi)源版本,那當(dāng)我本地拉取 A 應(yīng)用源碼,那依賴(lài)關(guān)系就變成了 圖中虛線關(guān)系。

IDEA 缺失了 C 依賴(lài),這就導(dǎo)致項(xiàng)目編譯錯(cuò)誤,無(wú)法找到 C 中一些類(lèi)。

那這個(gè)問(wèn)題解決辦法,就是在本地倉(cāng)庫(kù)找到 B 依賴(lài),然后刪除拉取即可。

解決辦法比較簡(jiǎn)單,關(guān)鍵我們需要找到中間這個(gè)依賴(lài)。

IDEA 本地緩存異常

最后一種情況,跟 IDEA 有比較大關(guān)系。

IDEA 之所以快,那是因?yàn)?IDEA 打開(kāi)新的工程的時(shí)候,它會(huì)構(gòu)建項(xiàng)目索引以及生成相關(guān)緩存。

那有時(shí)候,如果 IDEA 緩存被破壞,那就有可能導(dǎo)致 IDEA 無(wú)法識(shí)別 maven 依賴(lài), 從而導(dǎo)致 IDEA 無(wú)法找到某些類(lèi)。

這種情況我們需要?jiǎng)h除原先的緩存以及索引,等待 IDEA 重新構(gòu)建緩存以及索引即可。

在 IDEA 中點(diǎn)擊 File/Invalidate Cached 即可。

悲劇!IDEA 突然找不到類(lèi)了?

最后

如果你如果碰到新的情況,以上幾種解決辦法都沒(méi)辦法解決,那么只能使用終極解決辦法。

重啟大法,重啟 IDEA,重啟電腦

悲劇!IDEA 突然找不到類(lèi)了?

原文鏈接:https://mp.weixin.qq.com/s/PSZPn4iwKdAAP0Du4PXsfA

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91在线免费视频 | 日韩一二| 在线观看黄色 | 亚洲91av| 欧美福利网址 | 成人黄色片网站 | 久久久精品视频国产 | 激情片网站 | 精品国产乱码久久久久久影片 | 国产精品久久久久免费a∨ 欧美黄色精品 | 美女爽到呻吟久久久久 | 一区二区久久 | 日韩一区二区三区在线观看 | 成人一区二区在线 | 国产精品免费观看 | 亚洲黄色激情 | 成人午夜| 天天色av | 91免费版在线观看 | 爱综合| 黄色一级片 | 成人免费不卡视频 | 丝袜美腿一区二区三区 | 精精国产xxxx视频在线野外 | 精品动漫一区 | 国产在线精品一区 | 天天澡天天狠天天天做 | 来个毛片 | 精品一区二区免费视频视频 | 国产精品a久久久久 | 成人乱人乱一区二区三区 | 蜜桃av一区二区三区 | 欧美黄色片免费观看 | 日韩在线观看一区二区 | 久久91精品国产 | 最新高清无码专区 | 国产在线不卡 | 色接久久 | 99热这里有精品 | 久久久久久久久久久高潮 | 欧美午夜一区二区三区免费大片 |