- 正常情况下我们使用IDEA开发Hzero,但是有的公司是不允许破解或者使用IDEA的,此时可以使用eclipse来替代也是可以的,最近尝试使用VSCode来开发调试发现了一些问题
- 其中最大的问题是Vscdoe在绝大多数情况下是不能直接运行Hzero,使用插件也不好使,特别是会抛出部分bean无法创建,此时在IDEA可以通过调整
Shorten command line
为classpath file
来解决- 当然,在VSCode中使用
mvn
插件生成classpathfile
再使用命令-cp
命令也可以,但是要写脚本,运行脚本,没办法通过launch.json
和tasks.json
来实现自动化- 所以换个思路,使用
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了,
- 首选运行
tasks.json
,在终端选则运行任务
->上面你配置的任务就可以了 - 最后运行
launch.json
,在运行和调试
->上面配置的launch就可以了