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 那样有很多插件支持。希望之后的版本中很多功能可以被完善,使用体验会更棒。