在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。
在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那样有很多插件支持。希望之后的版本中很多功能可以被完善,使用体验会更棒。
参考文章
在deepin上使用Fleet开发SpringBoot 3.0.0项目的更多相关文章
- 在树莓派上开发SpringBoot 之使用VSCode远程开发
一些运行在ARM单板电脑上的IoT应用通常会提供RESTful风格的API接口.本次的文章记录如何在本地电脑上通过VS Code的远程开发功能,在树莓派端创建一个SpringBoot工程,并实现调试和 ...
- Idea工具开发 SpringBoot整合JSP(毕设亲测可用)
因为,临近毕业了,自己虽然也学了很多框架.但是,都是在别人搭建好的基础上进行项目开发.但是springboot的官方文档上明确指出不提倡使用jsp进行前端开发,但是在校期间只学了jsp作为前端页面.所 ...
- Kotlin开发springboot项目(二)
Kotlin开发springboot项目(二) 中文学习网站: https://www.kotlincn.net/ 研究一下kotlin的demo: https://github.com/JetBra ...
- Kotlin开发springboot项目(一)
Kotlin开发springboot项目(一) Kotlin语言与Xtend语言有很多相似之处 为什么会存在这么多JVM语言? 现存的语言提供了太过受限制的功能,要不就是功能太过繁杂,导致语言的臃肿和 ...
- idea开发springboot 的mysql数据库连接问题
今天在家用idea进行springboot开发,前面一些坑相对避免了,但是到数据库这块总是连接不上,报错主要是: Access denied for user 'root'@'localhost' ( ...
- 分布式应用开发 | SpringBoot+dubbo+zookeeper实现服务注册发现 | 远程服务调用
前言 通过新建两个独立服务--提供者.消费者,模拟两个独立分布的应用,通过使用dubbo+zookeeper来实现远程服务调用. 目录 项目搭建 provider-server consumer-se ...
- 关于如何在github上创建团队开发环境
今天想写个如何在github上创建团队开发环境的博客.送给那些还不知道如何在github上创建团队开发环境的开发人员. 1.首先,当然你要有个github的账号.具体怎么注册我这里就不说了.可以上gi ...
- 在WP8上搭建cocos2d-x开发环境
在WP8上搭建cocos2d-x开发环境 转自:https://github.com/koowolf/cocos-docs/blob/master/manual/framework/native/in ...
- RocketMQ在windows上安装和开发使用
1.概述 RocketMQ是alibaba公司开源的一个纯java的开源消息中间件. 2.开发测试环境搭建 到github上面rocketMQ,我选择的是alibaba-rocketmq-3.2.6. ...
- 在mac本上折腾android 开发环境
众所周知的原因,google的很多网站在国内无法访问,苦逼了一堆天朝程序员,下是在mac本上折腾android 开发环境的过程: 一.先下载android sdk for mac 给二个靠谱的网址: ...
随机推荐
- CtfShow信息收集1-20攻略
CtfShow信息收集1-20关攻略 简单更新一下CTF关于信息收集的题目,总共20道,网站地址:https://ctf.show/challenges 第一关 我们可以看到提示:开发注释没有及时删除 ...
- SQL专家云快速解决阻塞
背景 当数据库突然产生严重阻塞时,运维人员要快速找到阻塞的源头并处理,让业务快速恢复.但是大多数运维人员只掌握了sp_who2.sp_lock等简单的语句,存在以下不足: 找不到真正的源头,过程中会误 ...
- CF1770F Koxia and Sequence
一步都没想到,一定是状态不好吧,一定吧一定吧? 加训数数! 题意 给定 \(n, x, y\),定义好的序列 \(\{a_i\}_{i = 1}^n\) 满足 \(\sum\limits_{i = 1 ...
- 前端Vue自定义服务说明弹窗弹框 自下而上底部弹框
前端Vue自定义服务说明弹窗弹框 自下而上底部弹框, 请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13108 效果图如下: cc-serv ...
- JavaCV人脸识别三部曲之一:视频中的人脸保存为图片
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于人脸识别 本文是<JavaCV人脸识别三部曲 ...
- Git的基本操作(CUDR)及分支
## 安装 到Git官网下载,网站地址:https://git-scm.com/downloads 需要从网上下载一个,然后进行默认安装即可.安装完成后,在开始菜单里面找到 "Git --& ...
- 【Vue】Echart图表
vue-echart-ui vue 集成 echart 图表的小 demo. 基础 series.type 包括:line(折线图).bar(条形图).pie(饼图).scatter(散点图).gra ...
- 【调制解调】VSB 残留边带调幅
说明 学习数字信号处理算法时整理的学习笔记.同系列文章目录可见 <DSP 学习之路>目录,代码已上传到 Github - ModulationAndDemodulation.本篇介绍 VS ...
- 【Git】常用命令汇总
一.仓库管理 git init:本地初始化 git clone:克隆远程仓库 git remote:远程仓库管理 git remote:查看远程仓库的信息 git remote -v:显示更详细的信息 ...
- .NET周刊【7月第3期 2023-07-16】
国内文章 揭秘 .NET 中的 TimerQueue(上) https://www.cnblogs.com/eventhorizon/p/17557821.html TimerQueue 是.NET中 ...