当前位置: 首页 > news >正文

VSCode搭建Hzero(SpringCloud架构)后端开发调试环境

  1. 正常情况下我们使用IDEA开发Hzero,但是有的公司是不允许破解或者使用IDEA的,此时可以使用eclipse来替代也是可以的,最近尝试使用VSCode来开发调试发现了一些问题
  2. 其中最大的问题是Vscdoe在绝大多数情况下是不能直接运行Hzero,使用插件也不好使,特别是会抛出部分bean无法创建,此时在IDEA可以通过调整Shorten command lineclasspath file来解决
  3. 当然,在VSCode中使用mvn插件生成classpathfile再使用命令-cp命令也可以,但是要写脚本,运行脚本,没办法通过launch.jsontasks.json来实现自动化
  4. 所以换个思路,使用mvn spring-boot:run 命令来运行,通过远程调试的方式调试,就可以解决Hzero不能直接使用VSCode运行的问题,下面介绍方法

POM文件添加插件

    <project><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><jvmArguments>-Dfile.encoding=UTF-8</jvmArguments><jvmArguments>-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=5055</jvmArguments><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

这里使用-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=5055来实现远程监听5055端口,这个端口可以自定义,不冲突就可以,如果使用了lombok,就添加exclude 配置,Hzero很多模块都有使用,这点要注意。

配置tasks.json

这里使用tasks.js来执行mvn spring-boot:run 命令,当然这个命令可以直接在项目根目录直接执行,或者使用shell脚本,也可以使用VSCode的插件来执行,这里只是提供一个方法,这样方便添加其他的参数快速运行

{"version": "2.0.0","tasks": [{"label": "run","type": "shell","command": "mvn spring-boot:run","group": {"kind": "build","isDefault": true}}]
}

配置launch.json

这里配置一个远程调试的配置

{"configurations": [{"type": "java","name": "Attach to Remote Program","request": "attach","hostName": "localhost","port": "5055"}]
}

这里需要关注两个参数
hostName: 这里配置运行任务的服务器ip,我们在本地运行,这里使用localhost
port: 要连接的端口,这里要和pom里配置的监听端口保持一致

运行方式

上面内容填写好后就可以愉快的coding了,

  1. 首选运行 tasks.json,在终端选则运行任务->上面你配置的任务就可以了
  2. 最后运行launch.json,在运行和调试->上面配置的launch就可以了

http://www.mrgr.cn/news/8133.html

相关文章:

  • 网络安全审计技术原理与应用
  • Git 全面教程
  • 低代码开发与项目管理工作流优化
  • react面试题三
  • 深度理解指针(3)
  • 基于Springboot的漫画网站设计与实现
  • mac和windows上安装nvm管理node版本
  • Docker基础概述、Docker安装、Docker镜像加速、Docker镜像指令
  • Java | Leetcode Java题解之第372题超级次方
  • (十六)Flink 状态管理
  • k8s-deployment控制器
  • 【C++ Primer Plus习题】4.8
  • C++笔记---内存管理
  • 【深度学习】使用Conda虚拟环境安装多个版本的CUDA和CUDNN方便切换
  • spring揭秘07-aop01-aop基本要素及代理模式3种实现
  • MySQL 中间件 MySQL-Router
  • 鸿蒙端云一体开发、鸿蒙云
  • Spark2.x 入门:从 RDD 转换到 DataFrame
  • Langchain编程中常见Python库讲解【2】
  • 计算机网络