当前位置: 首页 > 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.lryc.cn/news/429713.html

相关文章:

  • 【C++】OJ习题(初阶)
  • 6.4K+ Star!一个强大的本地知识库问答系统,支持多格式文件和跨语言检索,为企业提供高效、安全的数据洞察……
  • mvn编译的时候出现Perhaps you are running on a JRE rather than a JDK 解决方法
  • React原理之Fiber详解
  • 远离“优越感”陷阱,拥抱美好人生
  • Redis的线程模型
  • ubuntu24.04安装nginx1.24
  • 一款好看的WordPress REST API 主题
  • 《5G 与区块链融合:智能城市服务质量的飞跃》
  • 前后端分离开发:用 Apifox 高效管理 API
  • Go Channel 详解
  • 使用FModel提取游戏资产
  • Qt C++ 屏幕录制 保存mp4
  • Adobe After Effects的插件--------CC Cylinder
  • Vue3项目开发——新闻发布管理系统(一)
  • 前端调用后端,出现跨域报错怎么办
  • 使用Node-RED发送数据到巴法云
  • 【今夕是何年】雅达利发布Atari 7800+游戏主机:配备无线手柄、HDMI接口
  • APP支付宝授权获取code uniapp
  • 在Linux系统下安装、配置ETCD
  • lambda 表达式可以传递引用为什么需要引用捕获
  • 【Java】/* 双向链表 - 底层实现 */
  • Go 语言协程管理精解
  • C库函数signal()信号处理
  • 007 SpringCloudAlibaba基础使用(nacos,gateway)
  • 编译环境揭秘
  • 不同的字符集(ASCII、UTF-8、UTF-16/UCS-2、UTF-32/UCS-4)
  • STM32f407 网络接收 fpga 的 bin 文件并更新到 fpga series7(3)
  • JavaScript基础知识(七)
  • 20240821让飞凌的OK3588-C的核心板在Linux R4下挂载1TB的exFAT格式的TF卡