VSCode 配置 Spring Boot 项目开发环境

这篇具有很好参考价值的文章主要介绍了VSCode 配置 Spring Boot 项目开发环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

神器IDEA在升级到2023之后越发卡顿, EDU邮箱也不能用了, 照现在这个JDK版本的升级速度, 神器不升级也不行, 需要开始物色替代品. 其它IDE我用得少, VSCode还是比较熟悉的, 可以作为备选项.

两三年前曾经试过配置Java环境, 存在不少问题作罢. 最近搜了下相关的文章, 感觉VSCode对Java项目的支持比三年前完善了不少. 今天实际配置了一下环境, 把自己常用的功能过了一遍, 基本能跑通开发流程, 做个笔记.

安装扩展

需要安装的扩展有两组

  • Extension Pack for Java
  • Spring Boot Extension Pack

创建空白 Spring Boot 项目

快捷键 Shift+Ctrl+P呼出命令菜单, 使用 Spring Initializr: Create a Maven Project, 按提示创建

Java环境设置

需要先配置JDK, 否则在编译和运行项目时无法找到 pom.xml 中设置的JDK版本.

打开 settings

  • 首先在 Workspace 关闭 Java> Configuration: Detect Jdks At Start
  • 然后在 User 的 Java> Configuration: Runtimes 中添加 JDK

对应 User 的 settings.json, 这里的 name 是系统给定的值

    "java.configuration.runtimes": [
    
        {
            "name":"JavaSE-11",
            "path": "/opt/jdk/jdk-11.0.18/"
        },
        {
            "name":"JavaSE-17",
            "path": "/opt/jdk/jdk-17.0.7/"
        },
        {
            "name":"JavaSE-21",
            "path": "/opt/jdk/jdk-21.0.2/"
        },
    ],

对应 Workspace 的 settings.json, Workspace 不需要配置 JDK, 用全局的即可

    "java.configuration.detectJdksAtStart": false,

设置完之后需要重启 VSCode 才生效.

使用 Maven

使用自定义版本的 Maven

VSCode 中默认使用的是当前项目目录下的 Maven Wrapper, 如果想换成其它版本, 或者不希望在项目目录下增加额外文件, 则需要自行指定 mvn 路径

在 User 的 settings.json 中增加下面的条目, 注意 这个条目在当前的VSCode版本, 只能加到 User, 不能加到 Workspace.

"maven.executable.path": "/opt/maven/apache-maven-3.8.6/bin/mvn",

使用自定义 settings.xml

首先配置项java.configuration.maven.userSettings在maven扩展中不起作用, 在GitHub issue #140中有解释

For now, this maven extension works independently with the language server, so it never reads any java.* config.
Use extra parameters to specify your own settings file.
In this extension we provide config entry maven.executable.options as a workaround. E.g.
"maven.executable.options": "-s c:\settings.xml"
Make sure the filepath format is compatible with the terminal you use, here we won't format the content for your terminal.

所以需要通过在Workspace的 settings.json 中添加下面的配置, 使得自定义 settings.xml 起作用, 路径要使用绝对路径

"maven.executable.options": "-s /path-to/settings.xml"

加入此项后, 在界面上展开项目的 Profiles 就能看到自定义settings.xml中包含的profile.

查看项目全部依赖

在界面左侧导航条, MAVEN模块, 项目上右键 -> Show Dependencies, 会以文本形式展示所有依赖

设置执行 Maven 使用的 JDK

执行 Maven 使用的JDK和项目pom.xml指定的JDK并无关联, 是通过项目中的 mvnw 脚本检查环境 $JAVA_HOME 变量获得. 如果不设置执行maven命令会使用系统自带的java, 这样会有问题.

这个环境变量可以通过两种方式设置

  1. workspace settings 中添加如下设置, 建议仅用于 Workspace, 因为不同项目的 JDK 可能不同, 这个设置仅对在terminal 中执行的 maven 命令有效
    "maven.terminal.customEnv": [
        {
            "environmentVariable": "JAVA_HOME",
            "value": "/opt/jdk/jdk-21.0.2"
        }
    ],
  1. workspace settings 中勾选 Maven > Terminal: Use Java Home, 对应的设置如下, 开启后会自动使用 java.home 的值作为 $JAVA_HOME
"maven.terminal.useJavaHome": true,

执行maven命令

可以通过界面左侧导航条, MAVEN模块,

  • 项目上右键 Run Maven Commands 执行. 如果要执行复合命令(如 clean package), 可以点选 Custom
  • 也可以通过下级菜单 Lifecycle 展开后点击对应 Command 执行.

如果要快捷执行

  • 可以用快捷键 Shift+Ctrl+P呼出命令菜单, 用 Maven 过滤, 选择 Maven: History
  • 界面左侧导航条, MAVEN模块, 下级菜单 Favorites, 添加自己常用的复合命令, 例如clean package -DskipTests

Favorites 也可以在当前项目的 settings.json 中添加

    "maven.terminal.favorites": [
        {
            "command": "clean package -DskipTests"
        }
    ],

Run和Debug

界面方式可以直接通过 SpringBootApplication 类的编辑器右上方, 点击Run或Debug按钮

对于日常快捷操作, 可以通过Shift+Ctrl+P呼出命令菜单, 用 Spring Boot Dashboard: Run, Spring Boot Dashboard: Debug, Spring Boot Dashboard: Stop 这三个命令进行操作.

Debug 也可以用 VSCode 默认的F5直接呼起

Run和Debug时资源文件filtering问题

VSCode 只要检测到文件改动, 就会自动build, 但是此时会忽略指定的 profile, 导致资源文件的 filtering 未执行, @标注的占位符没有替换为正确配置, 从而在执行Spring Boot Dashboard: Run, Spring Boot Dashboard: Debug时, 启动出错. 要手动先调 Maven: Favorite编译再执行Run才能正确运行.

解决方案:

在 task.json 中创建一个task, 用于带 profile 编译, 注意这里要指定JAVA_HOME, 指定 settings.xml, 指定 profile

{
    "label": "compile[dev]",
    "type": "shell",
    "command": "JAVA_HOME=/opt/jdk/jdk-21.0.2/ /opt/maven/apache-maven-3.8.6/bin/mvn compile -Pdev -DskipTests -f ./pom.xml -s ./settings.xml"
},

在 launch.json 中将上面的 task 设置到 preLaunchTask

{
    "type": "java",
    //...
    "args": "",
    "preLaunchTask": "compile[dev]",       <--- 增加这行
    "envFile": "${workspaceFolder}/.env",
},

之后启动 Spring Boot Dashboard: Run时就会先执行这个编译对资源文件filtering, 再启动应用就正常了.

示例

最终的 User settings.json 新增项为

    "java.configuration.runtimes": [

        {
            "name":"JavaSE-11",
            "path": "/opt/jdk/jdk-11.0.18/"
        },
        {
            "name":"JavaSE-17",
            "path": "/opt/jdk/jdk-17.0.7/"
        },
        {
            "name":"JavaSE-21",
            "path": "/opt/jdk/jdk-21.0.2/"
        },
    ],
    "maven.executable.path": "/opt/maven/apache-maven-3.8.6/bin/mvn",

最终的 Workspace settings.json 为

{
    "java.configuration.detectJdksAtStart": false,
    "maven.terminal.customEnv": [
        {
            "environmentVariable": "JAVA_HOME",
            "value": "/opt/jdk/jdk-21.0.2"
        }
    ],
    "maven.terminal.favorites": [
        {"command": "clean package -Pdev -DskipTests"},
    ],
    "maven.executable.options": "-s /path-to/settings.xml",
}

最后

从实际使用看, VSCode对于中小型Java项目已经可以作为生产力工具使用, 配置稍微有点麻烦, 从开发到debug到打包, 流程都没什么问题. 代码高亮和提示也没什么问题, 本身VSCode也有一些优势, 例如对HTML, js代码的高亮, IDEA社区版是没有的. 存在的问题就是有些改动到界面上的体现反应有点慢, 而且有些设置和改动变动比较大, 需要重启后才能正确高亮.文章来源地址https://www.toymoban.com/news/detail-838267.html

到了这里,关于VSCode 配置 Spring Boot 项目开发环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring boot3单模块项目工程搭建-下(个人开发模板)

    ⛰️个人主页:     蒾酒 🔥系列专栏 :《spring boot实战》 目录 写在前面 上文衔接 常用依赖介绍以及整合 web组件 测试组件 样板代码生成 数据库连接器 常用工具包 面向切面编程 ORM框架 数据连接池 接口测试、文档导出 缓存中间件 参数校验 认证鉴权 基础功能完善 跨域问

    2024年04月28日
    浏览(27)
  • spring boot3单模块项目工程搭建-上(个人开发模板)

      ⛰️个人主页:     蒾酒 🔥系列专栏 :《spring boot实战》 目录 写在前面 上文衔接 常规目录创建 common目录 exception.handle目录 result.handle目录 controller目录 service目录 mapper目录 entity目录 test目录 写在最后 本文介绍了springboot开发后端服务,单模块项目工程搭建。单模块搭建出

    2024年04月29日
    浏览(27)
  • vue的第2篇 开发环境vscode的安装以及创建项目空间

    1.下载地址:Visual Studio Code - Code Editing. Redefined 2.进行安装 1.2.1 vscode的中文插件安装 1.在搜索框输入“chinese” 2.安装完成重启,如下变成中文  1.2.2 修改工作区的颜色  选中[浅色] 1.2.3 vscode的live server插件安装 1.2.4 vscode的vetur插件安装 1.2.5 vscode的vue-helper插件安装 1.在idea中

    2024年02月09日
    浏览(37)
  • Github标星98k,企业级Spring Boot项目开发实战笔记,太强了

    准备又快到了明年金三银四招聘高峰期的时间,虽然这两年因为疫情以及经济环境不太好,互联网行业的各大厂都在裁员,但是今年下半年Java行情在慢慢的复苏,在慢慢的变好。 随着上半年病态卷的常态在慢慢的退去,互联网公司在经过了一轮的裁员筛选筛选调整后,下半

    2024年02月05日
    浏览(42)
  • 开发实例:Spring Boot、MyBatis和Layui打造增删改查项目

    通过学习这个实例项目,我们将积累点滴技术知识和实践经验,进一步提升我们的开发能力。学习如何构建增删改查功能的完整应用,从数据库访问到前端界面的开发,涵盖了全栈开发的方方面面。此外,我们还将学会处理常见的业务逻辑和数据操作,提高编码质量和效率。

    2024年02月06日
    浏览(48)
  • 鸿鹄工程项目管理系统源码:Spring Boot带来的快速开发与部署体验

    随着企业规模的不断扩大和业务的快速发展,传统的工程项目管理方式已经无法满足现代企业的需求。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,企业需要借助先进的数字化技术进行转型。本文将介绍一款采用Spring Cloud+Spring Boot+Mybatis技术框架的工

    2024年02月03日
    浏览(34)
  • 【论坛java项目】第二章 Spring Boot实践,开发社区登录模块:发送邮件、开发注册功能、会话管理、生成验证码、开发登录、退出功能、

    😀如果对你有帮助的话😊 🌺为博主点个赞吧 👍 👍点赞是对博主最大的鼓励😋 💓爱心发射~💓 bofryuzursekbiab——密码 访问邮箱域名 邮箱端口 账号 密码 协议 详细配置 JavaMailSender 是 Spring Email 的核心组件,负责发送邮件 MimeMessage 用于封装邮件的相关信息 MimeMessageHelper 用

    2024年02月06日
    浏览(42)
  • JAVA新实战1:使用vscode+gradle+openJDK21搭建java springboot3项目开发环境

            作为一个干了多年的全栈技术工程师,厌倦了使用盗版IDE,近些年开发Java一直使用IntelliJ IDEA进行Springboot后端项目开发,对于IntelliJ IDEA 授权问题,一直花钱买学生类的授权,但经常被屏蔽,无法使用,又不舍得花大钱买企业版,索性不再使用了。决定改用 VsCode+Gr

    2024年02月03日
    浏览(52)
  • Java企业级信息系统开发学习笔记(4.2)Spring Boot项目单元测试、热部署与原理分析

    该文章主要为完成实训任务,详细实现过程及结果见【http://t.csdn.cn/pG623】 1. 添加测试依赖启动器和单元测试 修改pom.xml文件,添加依赖 刷新项目依赖 2. 创建测试类与测试方法 在 src/test/java 里创建 cn.kox.boot 包,创建测试类 TestHelloWorld01 给测试类添加测试启动器注解与Spring

    2024年02月10日
    浏览(43)
  • 【前端开发环境安装、配置、项目搭建全教程】

    简单的说 Node.js 就是运行在服务端的 JavaScrip,基于 Chrome JavaScript 运行时建立的一个平台,Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。 1.node.js官网下载:下载地址 2.依据自己电脑Windows、macOS选择安装

    2024年03月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包