当前位置: 首页 > 面试题库 >

Intellij IDEA调试器不适用于Gradle Vert.X项目

朱鹤轩
2023-03-14
问题内容

我正在使用Vert.X使用Gradle构建工具的框架来开发项目。
我的问题是,断点IntelliJ根本无法
以我尝试的任何方式工作。

这是Vert.X我在Gradle中使用的运行配置:

run {
    args = [
            'run', mainVerticleName,
            "-conf", confPath,
            "--redeploy=$project.ext.watchForChange",
            "--launcher-class=$mainClassName",
            "--on-redeploy=$project.ext.doOnChange"
    ]
}

因此,部署是使用来完成的Gradle,运行没有任何问题,IntelliJ
调试器已连接,但是断点不起作用。

我尝试使其工作的方法:

1)Gradle运行配置。这是运行配置Intellij IDEA:
使用Gradle的Intellij运行配置

尝试使用远程调试工具启动具有以下
VM选项的应用程序:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

但这没有用。

2)应用程序配置: 使用应用程序进行IntelliJ运行配置

在这种情况下,我将无法启动项目,因为
在启动时会收到以下消息:

Error: Could not find or load main class io.vertx.core.Launcher

Vert.X Core库位于类路径中,并且配置似乎是
正确的,所以无法获取是问题所在。

该项目的源代码是公开的,可以在以下位置找到GitHub:

vertx-gradle-architecture-starter

Vert.X版本-3.4.0。Gradle版本-3.4.1。IntelliJ IDEA版本
-2016.3.5。作业系统-MacOS Sierra 10.12.3。

有趣的事实是,当我Vert.X从测试中部署时-断点起作用。
在上述情况下,为何断点不起作用?


问题答案:

这是两个问题的解决方案。感谢@CrazyCoder在此方面的帮助。

1)run命令在单独的VM中运行。因此,为了使其工作,我
–java-opts在脚本中添加了参数

run {
    args = [
            'run', mainVerticleName,
            "-conf", confPath,
            "--redeploy=$project.ext.watchForChange",
            "--launcher-class=$mainClassName",
            "--on-redeploy=$project.ext.doOnChange",
            // used for attaching remote debugger
            "--java-opts", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000"
    ]
}

这允许Remote debug在port上附加配置8000。

2)默认情况下,Intellij IDEA每个源集创建单独的模块,因此我
api_mainapi_test模块的源集。关闭此
功能后-应用程序调试运行开始工作。

可以在“ Gradle设置”中将其关闭。Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle:取消选中每个
源集创建单独的模块。



 类似资料:
  • Navicat 提供两款代码调试器:“Oracle PL/SQL 调试器”和“PostgreSQL PL/pgSQL 调试器”。使用调试器,你可以切换断点,获取调用堆栈,查看变量值,追踪代码等。

  • Navicat 提供两款代码调试器:“Oracle PL/SQL 调试器”和“PostgreSQL PL/pgSQL 调试器”。使用调试器,你可以切换断点,获取调用堆栈,查看变量值,追踪代码等。

  • Navicat 提供两款代码调试器:“Oracle PL/SQL 调试器”和“PostgreSQL PL/pgSQL 调试器”。使用调试器,你可以切换断点,获取调用堆栈,查看变量值,追踪代码等。

  • 我需要你的帮助,请理解调试一个maven应用程序使用Wildfly和Intellij的想法。 谢谢,

  • 问题内容: 您可以在Google Chrome中使用类似Firebug的东西吗? 我想要的基本功能: 检查HTML源(选择元素,将其删除等) 检查CSS值(内置解决方案有些奇怪) 问题答案: Chrome已经内置了类似Firebug的工具。只需右键单击页面上的任意位置,然后从菜单中选择“检查元素”。Chrome具有用于调试的图形工具(例如在Firebug中),因此您可以调试JavaScript。它

  • 我正在使用jdk8,正在从事SpringBoot项目。我得到了“JdbcTemplate无法解析为类型”的消息-