在deepin上使用Fleet開發SpringBoot 3.0.0專案

Tsukistar發表於2023-09-27

前言

Fleet被稱為是由 JetBrains 打造的下一代 IDE,目前出於公測狀態,可以免費下載使用。

SpringBoot 3.0.0最小支援是JDK 17,這或許是對於JDK8的斷舍離邁出的重大一步。

出於對新工具和新技術的好奇,我開始嘗試在deepin上用Fleet開發一個SpringBoot 3.0.0專案,繼續我的SpringBoot學習。

安裝Fleet

Fleet下載介面中點選“下載Toolbox App”,會下載一個tar包,解壓後雙擊裡面的可執行檔案,即可自動安裝Toolbox。

下載Fleet

tar包

安裝ToolBox

在Toolbox中安裝Fleet,完成後開啟可以發現它很簡潔,很自由,少了很多環境配置的專有區域和最佳化,因此需要自己配置一些開發環境,諸如JDK、Gradle等。

安裝OpenJDK

在Adoptium上下載OpenJDK 17版本:

OpenJDK

完成後在下載目錄中執行下面的步驟:

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 -versionjavac -version檢視JDK是否配置成功。

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是否安裝成功。

安裝完成Gradle

建立專案

使用Spring Initializr建立SpringBoot專案,選擇使用的構建工具、語言、版本,填寫相關包名,如下圖所示:

建立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命令。

無法正常使用git

因此綜合使用體驗來說,個人目前不建議用Fleet,它不像專用IDE有一套引導流程,也不像VSCode那樣有很多外掛支援。希望之後的版本中很多功能可以被完善,使用體驗會更棒。

參考文章

相關文章