vscode + gradle 建立 java 項目 - java language server無法啟動

來源:互聯網
上載者:User

標籤:bsp   是你   安裝   gpo   下載   而不是   window   打包   start   

1、在系統上安裝一個版本的gradle,用`gradle init --type java-application`建立一個預設的java項目,假設項目目錄是hellojava

2、vscode寫java首先要安裝Java Extension Pack(下面簡稱JEP),這個擴充會內建兩個依賴項安裝,一個是Debugger for java,還有一個的language support for java by red hat,這些是利用Eclipse的JDT實現的java語言支援

然後把hellojava檔案夾添加到vscode的工作區,JEP會自動識別該gradle項目並通過JDT將該項目整合到vscode中,出現以下事件則說明正確識別了:

2.1、在狀態列會看到Starting Java Language Server...並成功走到100%,這個步驟JEP根據你的gradlew(windows下是gradle.bat)下載安裝了對應版本的gradle(僅用於該java項目,不是系統全域的)

2.2、hellojava中與build.gradle同目錄下出現了.project和.classpath檔案(Eclipse的東西),說明JEP已經利用JDT關聯好你的gradle java項目了

2.3、hellojava中與build.gradle同目錄下出現了bin檔案夾,裡面是你src中java檔案對應的class檔案,說明vscode已經利用JEP下載的gradle幫你build好了該項目(是的,你不用手動去打gradle build命令,自動build),但是注意,這裡vscode的JEP利用gradle只會幫你產生class檔案用於debug(你只需要編輯你的java檔案並按F5進行debug即可),並不等價於gradle build命令,gradle build命令還會幫你做unit testing、打包jar等等,另外,你手動敲gradle build產生的東西都在build目錄下,而不是bin目錄下,bin目錄下的東西是vscode按F5調試時候找的class檔案,而build目錄下的class檔案是gradle run啟動並執行,要注意區別

 

 

3、最近發現通過deb包安裝的vscode突然無法正確build和debug java項目了,出現以下癥狀(不一定同時出現):

3.1、bin目錄中的class檔案無法與src中的java檔案同步,修改了java檔案,class檔案貌似沒有被重新編譯

3.2、bin目錄中的class檔案全部消失

3.3、F5啟動項目報錯,大意是:找不到主類

3.4、“輸出”裡面發現JEP報錯,大意是無法從gradle.4.x.bin.zip安裝gradle(說明#2.1中的步驟失敗了),同時,開啟項目中java檔案的時候,狀態列有個大拇指朝下(鄙視的手勢),點擊後跳到“輸出”的報錯介面;這裡還有一種報錯方式就是告訴你無法同步項目的狀態,其實也是表示JDT無法同步你的gradle項目

 

4、我估計了一下,出現#3中描述的問題,估計是因為許可權問題,JEP無法成功安裝gradle並啟動Java Language Server,為什麼這麼說,因為deb包安裝的時候是要輸入sudo的密碼的,安裝在/usr/share目錄下,而啟動vscode是沒有用sudo的

4.1、測試了一下,sudo啟動vscode,就不會出現#3中的問題了,但是帶來的問題就是不用sudo就沒法用vscode了

4.2、那麼解決辦法就是把vscode安裝到/home目錄下,不用deb包安裝,直接下載tar.gz包解壓到/home目錄下,這樣就不存在許可權問題了

 

備忘:其實一開始我用deb包安裝的vscode寫gradle的java項目也是好好的,也沒出現上面#4所謂的“許可權問題”,但是昨天不知道抽什麼風就突然不能用了,折騰半天才按上面的步驟解決,真尼瑪扯蛋

vscode + gradle 建立 java 項目 - java language server無法啟動

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.