Maven 錯誤找不到符號的解決方法
Maven 錯誤找不到符號問題,通常有三種原因:
1. 可能項目編碼格式不統(tǒng)一。
2. 可能項目編碼使用的JDK版本不統(tǒng)一。
3. pom依賴問題,這種依賴可能是沒有添加包的依賴,如果是聚合項目可能是沒有添加其他模塊的依賴,或者是添加了其它模塊的依賴,但是沒有將依賴的模塊打包到本地倉庫等。
當(dāng)碰到maven錯誤:找不到符號問題時,通常第一反應(yīng)應(yīng)該是執(zhí)行eclipse的Project -> Clean … -> Clean all projects,然后再執(zhí)行maven clean,將項目清理一下,然后再試試,如果還是不能解決接著往下看。
如果是第一個問題:項目編碼格式不統(tǒng)一
可以在pom.xml文件中加上這樣的配置
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin>
將項目編碼設(shè)置成UTF-8,但是要注意source和target版本,下面會說
如果是第二個問題:項目編碼使用的JDK版本不統(tǒng)一
1、首先檢車一下pom.xml文件設(shè)置的jdk版本,就是上面這幾行代碼中的encoding,source指明支持的jdk版本,target指明項目打包后的jdk版本。
2、查看項目本身的jdk版本,點擊項目右鍵->build path->configure build path… ,然后設(shè)置項目的jdk版本。
3、再看看編譯器的版本,通常這個版本都是默認與你項目設(shè)置的jdk版本一致,但是最好還是檢查一下點擊項目右鍵properties->java compiler
4、最后如果你是web項目,檢查一下tomcat的版本,點擊window->preferences->server->runtime environment
實際上檢查版本主要還是前面兩步,一個是pom.xml配置,一個是項目本身設(shè)置的jdk版本,最后兩個實際上可以不用檢查,編譯版本通常都是和你項目本身設(shè)置的jdk版本默認一致,而tomcat的jdk版本設(shè)置不正確,出現(xiàn)的問題不會是符號錯誤。(第一次開發(fā)maven web項目時就是jdk設(shè)置得不正確,結(jié)果項目啟動之后,打開瀏覽器登陸進去之后就是一些錯誤異常,當(dāng)時使用的是jre,沒有使用jdk,這里提醒大家做開發(fā)時最好使用jdk不要使用jre,有些項目在jre環(huán)境下是會出現(xiàn)問題的,而jdk中存在一些jre沒有的開發(fā)工具)。
如果是第三種情況:Pom依賴問題
那就要仔細檢查了,maven麻煩就麻煩在pom文件的配置,和它的一些依賴關(guān)系。最簡單的情況就是你沒有為相應(yīng)的jar包配置依賴,這種情況只要在pom.xml中添加相應(yīng)jar包依賴就可以了,如果是聚合項目的話可能是你這個項目依賴其它的項目,那就要在你這項目pom.xml中配置其它項目的依賴。同時在編譯這個項目前,要將你依賴的其它項目打包到本地倉庫,不然這個依賴是無效的。
maven 錯誤找不到符號這個問題,大體上就是上面幾種情況,這篇文章只能提供一種參考,基于以上三種情況而衍生出來的其它情況也會導(dǎo)致錯誤找不到符號這個問題,這句需要大家伙自己慢慢查找了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java 添加、刪除、替換、格式化Word中的文本的步驟詳解(基于Spire.Cloud.SDK for Java)
這篇文章主要介紹了Java 添加、刪除、替換、格式化Word中的文本(基于Spire.Cloud.SDK for Java),本文分步驟通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08springboot 多模塊將dao(mybatis)項目拆分出去
這篇文章主要介紹了springboot 多模塊將dao(mybatis)項目拆分出去,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05Java面向?qū)ο笾甪inal關(guān)鍵字詳細解讀
這篇文章主要介紹了Java面向?qū)ο笾甪inal關(guān)鍵字詳細解讀,final修飾的屬性又叫常量,一般用 XX_XX_XX來命名,final修飾的屬性在定義時必須賦初始值,并且以后不能再修改,需要的朋友可以參考下2024-01-01