前言
Fleet被稱為是由 JetBrains 打造的下一代 IDE,目前出於公測狀態,可以免費下載使用。
SpringBoot 3.0.0最小支援是JDK 17,這或許是對於JDK8的斷舍離邁出的重大一步。
出於對新工具和新技術的好奇,我開始嘗試在deepin上用Fleet開發一個SpringBoot 3.0.0專案,繼續我的SpringBoot學習。
安裝Fleet
在Fleet下載介面中點選“下載Toolbox App”,會下載一個tar包,解壓後雙擊裡面的可執行檔案,即可自動安裝Toolbox。
在Toolbox中安裝Fleet,完成後開啟可以發現它很簡潔,很自由,少了很多環境配置的專有區域和最佳化,因此需要自己配置一些開發環境,諸如JDK、Gradle等。
安裝OpenJDK
在Adoptium上下載OpenJDK 17版本:
完成後在下載目錄中執行下面的步驟:
tar -zxvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz
mv jdk-17.0.8.1+1/ /usr/local/jdk
(如果沒有/usr/local/jdk目錄的話,需要使用sudo mkdir /usr/local/jdk
新建資料夾,並使用sudo chown -R 當前使用者名稱:當前使用者名稱 /usr/local/jdk
將資料夾所有權變更為當前使用者,這樣操作的目的是在一臺機器上儲存多個JDK版本)
隨後新增環境變數,執行vim /etc/profile.d/java.sh
,在檔案中新增或修改:
export JAVA_HOME=/usr/local/jdk/jdk-17.0.8.1+1
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
若為第一次配置,則需要對檔案賦權:
sudo chmod 755 /etc/profile.d/java.sh
sudo chown 登入的使用者名稱:登入的使用者名稱 /etc/profile.d/java.sh
使用source /etc/profile.d/java.sh
重新載入環境變數,隨後輸入sudo vim ~/.bashrc
,在最下方新增source /etc/profile.d/java.sh
,儲存。
使用java -version
和javac -version
檢視JDK是否配置成功。
安裝Gradle
在/usr/local下建立gradle資料夾:
cd /usr/local
sudo mkdir gradle
sudo chown 登入的使用者名稱:登入的使用者名稱 /usr/local/gradle
隨後進入該資料夾,使用wget下載Gradle安裝包並解壓,隨後刪除安裝包:
cd gradle
wget https://downloads.gradle.org/distributions/gradle-8.3-bin.zip
unzip gradle-8.3-bin.zip
rm -rf gradle-8.3-bin.zip
現在gradle目錄下只有一個gradle-8.3的資料夾,這樣做是為了存在多個版本的Gradle時方便切換。
與配置JDK的環境變數類似,使用sudo vim /etc/profile.d/gradle.sh
建立Gradle的環境變數
export GRADLE_HOME=/usr/local/gradle/gradle-8.3
export GRADLE_USER_HOME=$GRADLE_HOME/repo
export PATH=${GRADLE_HOME}/bin:${PATH}
使用source /etc/profile.d/gradle.sh
重新載入環境變數,隨後輸入sudo vim ~/.bashrc
,在最下方新增source /etc/profile.d/gradle.sh
,儲存。
使用gradle --version
檢視Gradle是否安裝成功。
建立專案
使用Spring Initializr建立SpringBoot專案,選擇使用的構建工具、語言、版本,填寫相關包名,如下圖所示:
隨後點選”GENERATE“,會下載一個zip壓縮包。將該壓縮包解壓,隨後用fleet開啟解壓後的檔案,fleet會自動根據gradle的配置檔案進行初始化:
在/src/main/resources/application.properties
中加入server.port=8000
指定啟動埠,隨後在例如/src/main/java/Controller
中新增相應的Controller,如下圖所示,完成一個訪問指定路徑返回“Hello SpringBoot”的功能:
package studio.tsukistar.demo.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class testController {
@GetMapping("/hello")
public String hello() {
String hellotext;
hellotext = "Hello SpringBoot";
return hellotext;
}
}
使用Ctrl+R或點選右上角的執行按鈕,Fleet會自動構建並執行,在瀏覽器中輸入http://localhost:8000/hello
即可看到結果。
總結
Fleet作為一個JetBrains想推出的輕量化IDE,在實際使用中個人感覺還有許多需要被完善的地方。
Fleet有一定的優點,例如智慧模式下可以根據專案資料夾中包含的檔案自動進行構建、索引等,並且程式碼補全功能相對來說顯示的資訊比較完整。同時支援Alt+Enter修正錯誤,老JetBrains選手用得很舒服。
但相對於優點來說,缺點還是有很多的。以開發SpringBoot專案為例,由於沒有外掛支援,並且Fleet內沒有專門的根據專案型別新建專案的選擇,對於初學者來說幾乎要依靠很多第三方工具(諸如Spring Initializr)才能完成專案初始化構建。同時吐槽一點,Fleet內部的Git管理因為 .gitignore 被修改不能選擇那個檔案,所以不能一鍵全選,不如在Terminal中用git命令。
因此綜合使用體驗來說,個人目前不建議用Fleet,它不像專用IDE有一套引導流程,也不像VSCode那樣有很多外掛支援。希望之後的版本中很多功能可以被完善,使用體驗會更棒。