出於對新工具和新技術的好奇,我開始嘗試在deepin上用Fleet開發一個SpringBoot 3.0.0項目,繼續我的SpringBoot學習。 ...
前言
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那樣有很多插件支持。希望之後的版本中很多功能可以被完善,使用體驗會更棒。