解決Eclipse中“詭異”的錯誤:找不到或無法載入主類,eclipse載入

來源:互聯網
上載者:User

解決Eclipse中“詭異”的錯誤:找不到或無法載入主類,eclipse載入

找了很多文章,這個協助我解決了現在的問題。

原文串連:https://blog.csdn.net/u010512607/article/details/46350813

近兩天在用Eclipse寫代碼的時候突發奇想,把所有產生的 .class 檔案統統刪掉,以為只要重新運行就可以重建新的 class 檔案,哪知道出問題了,控制台提示->錯誤:找不到或無法載入主類……。自己忙活了好久,也沒有有效解決方案。後來在網上找了找,終於發現了真正的原因。

原來,Eclipse 中的 Java 編譯器是基於 .java 檔案的新舊來判斷是否進行編譯。也就是說,一個 .java 檔案如果不更新,那麼 Eclipse 中的編譯器就不會對其進行再次編譯。

前面提到的刪掉了所有的 .class 檔案後點擊運行報錯主要也是這個原因。刪除 .class 檔案後,在 .java 檔案沒有變化的時候是不會被重新編譯的,那麼 JVM 在運行 .class 檔案時就找不到 .class 檔案,於是就報錯。那麼,該怎麼解決呢?

我們知道,Eclipse 預設情況下第一次點擊運行表徵圖或者右鍵->Run As 一個源檔案時,會提示如下:

 圖1

也就是讓我們選擇是否在運行前自動儲存源檔案,這樣在對源檔案進行修改過後就可以立即反映到運行結果中。如果勾上Always save resources before launching,那麼每次運行都會判斷檔案是否已經更新並進行儲存,如果要對其進行設定,可以在 Window->Preferences->Run/Debug->Launching 中進行設定:

 圖2

而在 Eclipse 中還有一點得注意,如果勾選了在運行前儲存源檔案,那麼,源檔案也會被編譯,因為在預設的 Windows->Preferences->General->Workspace 中,有這樣一條:

 圖3

只要源檔案一有變化(儲存後)就會自動進行編譯操作,缺點是必須得做點什麼然後儲存,所以如果源檔案中沒有使用到其它 .java 檔案中自訂的類的時候,可以對其進行象徵性的修改以使其變成新的,然後運行就行了。否則還得把用到的類也進行同樣的操作然後儲存運行。

注意,還有但是,這樣做太麻煩了,而且對於一包含大量源檔案的工程來說,這麼做也不太現實。所以得找一個一勞永逸的解決之道。答案就是:

Project->Clean...

Clean...操作會將該工程以前的所有編譯資訊清空,然後預設將所在工程的所有 .java 檔案都進行一次編譯,這樣的話就可以方便地進行修改與運行了。

寫了這麼多,總結一下關於刪掉 .class 檔案運行報錯的幾種解決辦法:

1、對於單個檔案,並且沒有使用到在別的 .java 檔案中自訂的類,可以對其進行象徵性的修改,加空格或者類似的操作,然後儲存。如果使用了其它類,那麼就得在對應的類中也作修改並儲存,或者修改完後一齊儲存。

2、簡單粗暴又有效辦法,Project->Clean...,將所在工程以往的編譯資訊都清空並全都重新編譯一次。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.