vscode Springboot 啟動debug報錯:Build failed, do you want to continue?


一,前言

  vscode我感覺是一個特別好用的開發工具,我根據文章https://www.cnblogs.com/WangBoBlog/p/9464281.html去搭建一個簡單的springboot工程,但是在這個過程中卻遇到了一個問題:

    按F5調試模式啟動的時候,vscode的左下角彈出了一個提示:提示說編譯失敗,要不要繼續啟動?提示截圖如下:

      

  本文接下來記錄了解決這個問題的思路

二,出問題前的另一個小坑

  按照文章(https://www.cnblogs.com/WangBoBlog/p/9464281.html)中步驟1-3操作都很順利,在此也對作者表示感謝。

  但是到了第四步的時候,按照文章上的步驟,打開的配置文件與文章中的不一致,猜測是vs版本的不同導致的。

  我的操作步驟如下。

    1,打開調試界面(就是vscode界面左側中的小蟲子)然后點擊添加配置

      

    2,然后會彈出一個開發語言選擇框,我們這里選擇java

      

    3,ok,到這里就可以按F5啟動調試模式了。

      

三,真正的問題出現

  按照上一步,我們成功的啟動了調試模式,但是在訪問localhost:8080時,會出現找不到頁面的錯誤(這是因為我們的springboot程序沒有提供任何可以訪問的路徑):

    

  那么我們就新建一個controller包和一個IndexController的控制器,代碼如下:

    

  ok,心里想着見證奇跡的時候來了,殊不知,在按下F5的是時候出現了錯誤

  

四,動手解決問題

  出現了問題不要慌,解決就好。

  這個時候就出現了一個很尷尬的情況,我覺得是vscode做的不夠好的地方:雖然告訴我出現了錯誤,但是沒有告訴我錯誤的原因或者詳情。

  只好點擊Learn More來尋找答案,點擊之后就進入了一個vscode的官方網站,並確直接定位到錯誤信息的地方(贊),如下圖:

  

    vscode針對這個錯誤給了兩個解決方案:

      1,打開“問題”視圖,檢查代碼錯誤並修復錯誤,其實就是告訴我,可能是我自己寫的代碼的問題

      2,通過第一步排除了代碼的問題,那只能是擴展的問題了,我們點擊藍色的連接,繼續追查問題,截圖如下:

    

     這里是對java debug擴展如何工作的一些說明,讓我確認java擴展是否在正常工作,如果沒有正常工作給了我四個方案去處理。

     經過檢查vscode 發現我的擴展是正常工作的(因為我的vscode右下角有大拇指圖表)

五,再次陷入尷尬

    經過第四步對問題的追查,發現似乎vscode和java擴展都是正常的。同時我的代碼也是沒有問題的,仿佛陷入了一種無計可施的局面。

    也許是命中注定,神奇的是,我用鼠標點擊了一下那個說明擴展正常運行的“大拇指”,驚喜的發現如下錯誤信息:

    

    簡單的來說,這段信息告訴我,在編譯工作空間的時候出現了一個錯誤,一個class文件沒有寫入,工程可能不一致,如果是這樣請刷新工程重新編譯,resource后面的路徑不就是我新增的controller嗎?

    打開項目所在文件夾,在target中找到IndexController所在的目錄,確實沒有編程出class文件。

六,解決問題與遺留的疑問

   解決方法:

      1,找到沒有編譯的java文件,隨便找個地方,打幾個空格然后保存,就會編譯出class文件了。

      2,重啟vscode ,運行maven命令:mvn clean compile,然后在啟動調試模式。

  遺留的疑問:雖然這個方法可以編譯出class文件,但是治標不治本,還請相關的大神看到這篇文章后給與指導

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM