【问题标题】:Debug jHipster application调试 jHipster 应用程序
【发布时间】:2018-11-21 07:46:12
【问题描述】:
我是 jHipster 的新手,我创建了由我的应用程序前端使用的 API。我想调试我的服务,但无法使用 IntelliJ 附加调试器。
当我在编辑器中打开这个 bat 文件时,我的应用程序首先运行命令“mvnw”,这是 jHspter 标准命令,我发现:
@REM 例如要调试 Maven 本身,请使用
@REM 设置 MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
我设置了 MAVEN_OPTS 环境变量,但仍然没有用。我还尝试在端口 8000 上从 IDE 建立远程连接,但仍然没有任何目的。
任何帮助将不胜感激,谢谢。
【问题讨论】:
标签:
spring
debugging
intellij-idea
jhipster
【解决方案1】:
您可以在 JhipApp 类(SpringBootApplication 类)中运行(在调试模式下)main 方法。它对我有用
【解决方案2】:
我经过测试和验证的调试解决方案,然后将前端与后端分开,适用于操作系统 Windows 和 Ubuntu,并使用最新版本的 Ide Intellij 社区(2020.1.1在两个操作系统中使用),提供在创建 jhipster 应用程序(使用 Ubuntu 创建)后,从命令提示符或从 Ubuntu shell 启动命令:mvn -DskipTests = true clean install 编译后面先结束,然后是前端(在我的例子中是 Angular 8),在编译结束时运行以下命令:mvn spring-boot: run。
启动应用程序后,单击 Ctrl + C 并停止运行。现在您可以启动 npm 命令,然后从同一命令提示符或 shell 启动命令:npm start,因为您的项目已经构建并已经启动,它将重新启动,现在从 Ide 你可以从调试图标启动带有 @SpringBootApplication 注释的类配置,在编译结束时,您将划分前端和后端并轻松调试,以及前端的热更改发生很快,而对于后端,您将始终必须保存重新编译并在调试中重新启动。
【解决方案3】:
如果您按照问题中的建议进行远程连接,则可以这样做
-
在终端启动jhipster,但传入一些调试参数
$ ./mvnw -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
然后您只需使用 IDE 在端口 5005 连接到它。
例如,在 Visual Studio Code 中
- 添加“launch.json”文件
- 当您将 launch.json 作为编辑器中的活动文件时,将显示“添加配置”按钮。点击它。
- 选择“Java:按进程 ID 附加”
- 这会将新配置添加到“运行和调试”选项卡中。
- 单击“按进程 ID 附加”按钮,然后选择您的进程(本例中为端口 5005)
- 开始调试!