前言

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

参考文章

在deepin上使用Fleet开发SpringBoot 3.0.0项目的更多相关文章

  1. 在树莓派上开发SpringBoot 之使用VSCode远程开发

    一些运行在ARM单板电脑上的IoT应用通常会提供RESTful风格的API接口.本次的文章记录如何在本地电脑上通过VS Code的远程开发功能,在树莓派端创建一个SpringBoot工程,并实现调试和 ...

  2. Idea工具开发 SpringBoot整合JSP(毕设亲测可用)

    因为,临近毕业了,自己虽然也学了很多框架.但是,都是在别人搭建好的基础上进行项目开发.但是springboot的官方文档上明确指出不提倡使用jsp进行前端开发,但是在校期间只学了jsp作为前端页面.所 ...

  3. Kotlin开发springboot项目(二)

    Kotlin开发springboot项目(二) 中文学习网站: https://www.kotlincn.net/ 研究一下kotlin的demo: https://github.com/JetBra ...

  4. Kotlin开发springboot项目(一)

    Kotlin开发springboot项目(一) Kotlin语言与Xtend语言有很多相似之处 为什么会存在这么多JVM语言? 现存的语言提供了太过受限制的功能,要不就是功能太过繁杂,导致语言的臃肿和 ...

  5. idea开发springboot 的mysql数据库连接问题

    今天在家用idea进行springboot开发,前面一些坑相对避免了,但是到数据库这块总是连接不上,报错主要是: Access denied for user 'root'@'localhost' ( ...

  6. 分布式应用开发 | SpringBoot+dubbo+zookeeper实现服务注册发现 | 远程服务调用

    前言 通过新建两个独立服务--提供者.消费者,模拟两个独立分布的应用,通过使用dubbo+zookeeper来实现远程服务调用. 目录 项目搭建 provider-server consumer-se ...

  7. 关于如何在github上创建团队开发环境

    今天想写个如何在github上创建团队开发环境的博客.送给那些还不知道如何在github上创建团队开发环境的开发人员. 1.首先,当然你要有个github的账号.具体怎么注册我这里就不说了.可以上gi ...

  8. 在WP8上搭建cocos2d-x开发环境

    在WP8上搭建cocos2d-x开发环境 转自:https://github.com/koowolf/cocos-docs/blob/master/manual/framework/native/in ...

  9. RocketMQ在windows上安装和开发使用

    1.概述 RocketMQ是alibaba公司开源的一个纯java的开源消息中间件. 2.开发测试环境搭建 到github上面rocketMQ,我选择的是alibaba-rocketmq-3.2.6. ...

  10. 在mac本上折腾android 开发环境

    众所周知的原因,google的很多网站在国内无法访问,苦逼了一堆天朝程序员,下是在mac本上折腾android 开发环境的过程: 一.先下载android sdk for mac 给二个靠谱的网址: ...

随机推荐

  1. .NET7 中Autofac依赖注入整合多层,项目中可直接用

    一.配置Autofac替换内置DI 1.安装Nuget包:Autofac.Extensions.DependencyInjection 2.Program.cs中加上 builder.Host.Use ...

  2. Wise 的平台工程 KPI 探索之旅

    作者|Lambros Charissis 翻译|Seal软件 链接|https://medium.com/wise-engineering/platform-engineering-kpis-6a32 ...

  3. 痞子衡嵌入式:主流QuadSPI NOR Flash厂商关于QE位与IO功能复用关联设计

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是几家主流QuadSPI NOR Flash厂商关于QE位与IO功能复用关联设计. 痞子衡之前写过一篇文章 <串行NOR Flash下 ...

  4. JetBrain学信网注册(Clion)

    一.打开网站 首先打开JetBrains关于学生认证的网站:https://www.jetbrains.com/shop/eform/students,可以看见以下页面: 二.人工验证 人工验证适合于 ...

  5. DevOps|从腾讯TEG CDC解散聊技术中台价值和建设

    近日一则腾讯TEG CDC整个部门解散的消息在很多群里炸了锅,有的唱衰互联网行业,有的唉声叹气,还有的甩锅到 AGI 的发展.总体上来说,这个事情的确已经发生了,我想从组织架构和整体效能这两方面来分析 ...

  6. 记一次线上bug:crontab 被意外清空

    记一次线上bug:crontab 被意外清空 目录 记一次线上bug:crontab 被意外清空 问题概述 问题排查 问题复现 其他测试 总结 又是一次难忘的经历. 问题概述 同事反馈,某台服务器的c ...

  7. LEA: Improving Sentence Similarity Robustness to Typos Using Lexical Attention Bias 论文阅读

    LEA: Improving Sentence Similarity Robustness to Typos Using Lexical Attention Bias 论文阅读 KDD 2023 原文 ...

  8. ISP图像处理之Demosaic算法及相关

    CFA及Demosaic介绍 1.Bayer(拜耳滤波器得到彩色) 图像在将实际的景物转换为图像数据时, 通常是将传感器分别接收红. 绿. 蓝三个分量的信息, 然后将红. 绿. 蓝三个分量的信息合成彩 ...

  9. 【技术积累】JavaScript中的基础语法【一】

    Math对象 JavaScript中的Math对象是一个内置的数学对象,表示对数字进行数学运算的方法和属性的集合. Math对象不是一个构造函数,所以不能使用new关键字来创建一个Math对象的实例. ...

  10. 巧用 bc 命令测试 Linux 主机的 CPU 性能

    今天向公司申请了一台 Linux 主机,作为平时的开发环境.由于自己并不依赖远程开发(大多数情况下项目都可以本地开发.调试),于是只申请了 4C/8G 的低配机器. 突然好奇的是,这台机器的性能怎么样 ...