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 那樣有很多插件支持。希望之後的版本中很多功能可以被完善,使用體驗會更棒。