關於IDEAMaven項目中Java代碼不識別的問題
關於maven項目插件報紅丟包的問題
一、網絡延遲或網絡波動。
原因: 當我們在pom文件中導入依賴的時候爆紅,表示正在下載,當很長時間都沒有下載下來jar包,其中一種原因就是網絡不好,有延遲,就跟你用流量看視頻一樣會有卡頓,同樣道理jar包下載也會是這種原因。
解決辦法: (1)換一個網絡重新下載。(2)把引入jar包這段代碼刪除重新之后重新添加。
二、maven依賴jar包下載不全,出現丟包。
原因: 如果你在下載jar包的時候點擊過停止或暫停,那么可能就會出現丟包現象。
解決辦法: 首先你要清楚的是maven倉庫在我們本地的什么位置,可以進去查看是否出現丟包,maven本地倉庫位置:C盤—本機用戶文件夾—.m2文件夾—repository文件夾,剩余的就是你下載jar包的路徑,可以到Maven Projects下查找jar包路徑,查看是不是丟失了jar包。
三、重復下載,取消之后又重新下載。
原因: 當我們從maven中央倉庫中下載的時候會很慢,大多會使用鏡像,當下載慢的時候很多人會取消,之后再重新下載,這就會導致下載的一些東西還沒下載完全,但是倉庫識別有這個名字的文件不再下載了。
解決辦法: 這里如果你發現你下載的里面沒有jar包,而是一些.lastUpdate結尾的無效文件,直接刪除這些文件重啟idea再重新添加依賴重新下載。 (之前嫌棄下載的慢,這種情況我遇到比較多就是下載中途停了,然后重新下載就導致爆紅)
四、maven依賴的版本沖突。
原因: 出現版本沖突的原因是因為由於Maven具有依賴傳遞性,就是當你引入一個依賴類的同時,他可能背靠其他依賴庫,所以其身后的依賴類也一起會被引入,也就是這個原因導致版本可能存在沖突。
舉個例子:
假如a依賴於B及C,而B又依賴於D、F,而C依賴於X、F,則A除引B及C的依賴包下,還會引入D,F,X的依賴包,但是我們可以看到這里有一個需要特別注意的,即B和C有一個共同的依賴F,那么如果B依賴於F的1.0版本,而C依賴於F的2.0版本,但是a只能選擇一個依賴,可能他希望用2.0的,但是1.0的先加載進來了,這就導致依賴版本沖突。
解決辦法: 刪除你不想要的傳遞依賴,也可以直接刪除低版本的依賴。