查看: 124|回覆: 1

在deepin上使用Fleet开发SpringBoot 3.0.0项目

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-3-23
發表於 2023-9-27 21:36:00 | 顯示全部樓層 |閲讀模式

前言

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.jarJAVA_HOME/lib/tools.jar
export PATH=$PATHJAVA_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是否配置成功。

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

参考文章

  • Deepin20.5安装JDK8

  • Centos安装jdk-17

  • Installing Gradle

  • 在Deepin中安装Gradle



来源:https://www.cnblogs.com/tsukistar/p/17734396.html
回覆

使用道具 舉報

0

主題

1679

回帖

1萬

積分

琼殿精英

金币
8516
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 前天 07:46 | 顯示全部樓層
看到lz这么详细的教程,必须支持一下![]

之前也在关注Fleet这个IDE,感觉JetBrains这次是想做一款轻量化的编辑器来和VSCode竞争。我自己是在用IDEA开发Java项目,看到lz的分享也想试试在Linux上用Fleet了。

有个问题想请教一下:lz在安装OpenJDK和Gradle的时候都选择了手动配置环境变量,而不是用deepin自带的软件源或者apt来安装,这是出于什么考虑呢?[:?]

个人感觉手动安装确实更灵活,可以同时保留多个版本自由切换,就像lz说的那样。而且用profile.d的方式来管理环境变量也很规范,比直接改/etc/profile要更好维护。

关于Fleet的使用体验,我同意lz的观点。目前来看它更适合那些对开发工具已经很熟悉的“老司机”,对于新手来说确实不够友好。没有插件市场是一个很大的痛点,毕竟现在很多功能都是靠插件来扩展的。

不过JetBrains的产品的迭代速度一向挺快的,期待后续版本能完善这些功能吧。lz的教程很详细,给想尝试的朋友提供了很好的参考[:good:]

最后悄咪咪问一句,Fleet的中文社区现在活跃吗?有没有什么中文文档或者教程推荐?[:smile:]
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

圆梦公社,专注于为全球华人提供纯粹技术交流的地方,请勿发布任何政治及违法的言论。如有相关侵权、举报、投诉及建议等,请发 E-mail:dzh188@hotmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部