===================================================================================
idea中使用maven編譯項目,報錯java: 錯誤: 找不到符號
錯誤狀況展示:
如果報這種錯,是因為項目中真的找不到報錯的方法或者枚舉 字段之類的,但實際是 :
點擊 File Path
實際 查看項目中
這個domain中的這個類,是有這個方法的
好,再查看maven的本地倉庫repository,到指定的目錄下,可以看到本domain的打包jar中,0.1.0版本是打包了完整代碼的,但是項目編譯時候使用的版本卻是0.1.0.2版本
看到這里,是不是在項目里面把 引用的domain的版本依賴改成 0.1.0不就好了么?
實際上,此刻項目中引用的domain版本就是0.1.0
而且可以看到 ,此刻的domain的0.1.0.2版本的jar包竟然還包含日期的信息:
產生原因:
根源問題,是因為多個Git分支,這個在改,那個在改,有些分支上的某些依賴jar包版本升級的比較新,合並到主分支之后,導致找不到,就導致jar包的引用出現了上述的 jar包版本變成包含日期的jar包這種異常情況。
這個jar包中包含的日期時間,就是當時合並之后出問題的時間節點。
雖然上面顯示的是domain這個jar包編譯找不到東西,實際問題並不是出在這個jar包上。
解決方法:
所以,解決的方法
參考:
https://blog.csdn.net/CaptainJava/article/details/91676066
就是在你看到 找不到符號的這個java類, 你找到這個類,然后
右鍵該文件,點擊 Recompile ,重新編譯
重新編譯了之后,正常就編譯通過了。
如果編譯失敗,會給你報出來,這個java類中引用的什么 找不到,導致編譯不通過,你可以根據錯誤提示,找到上一個 被依賴的 找不到的 java類, 然后一直溯源往上,找到最根源的編譯不通過的 java類。
然后再依次往下級,一個一個的Recompile。
就可以解決 這個問題。
============
或者 可以定位到 根源的j出問題的jar。
從而解決問題。