banner
月落星河Tsukistar

月落星河Tsukistar

浩瀚中的伟大,孤独间的渺小
github
twitter
youtube
bilibili
email

在deepin上使用Fleet開發SpringBoot 3.0.0項目

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

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

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

安裝 Fleet#

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

download-toolbox
toolbox-tar
install-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 是否配置成功。

java-version

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

finish-install-gradle

創建項目#

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

spring-initializr

隨後點擊”GENERATE“,會下載一個 zip 壓縮包。將該壓縮包解壓,隨後用 fleet 打開解壓後的文件,fleet 會自動根據 gradle 的配置文件進行初始化:

auto-init

/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即可看到結果。

result

總結#

Fleet 作為一個 JetBrains 想推出的輕量化 IDE,在實際使用中個人感覺還有許多需要被完善的地方。

Fleet 有一定的優點,例如智能模式下可以根據項目文件夾中包含的文件自動進行構建、索引等,並且代碼補全功能相對來說顯示的信息比較完整。同時支持 Alt+Enter 修正錯誤,老 JetBrains 選手用得很舒服。

但相對於優點來說,缺點還是有很多的。以開發 SpringBoot 項目為例,由於沒有插件支持,並且 Fleet 內沒有專門的根據項目類型新建項目的選擇,對於初學者來說幾乎要依靠很多第三方工具(諸如 Spring Initializr)才能完成項目初始化構建。同時吐槽一點,Fleet 內部的 Git 管理因為 .gitignore 被修改不能選擇那個文件,所以不能一鍵全選,不如在 Terminal 中用 git 命令。

useless-fleet-git

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

參考文章#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。