【问题标题】:IntelliJ debugger not hitting breakpoints in a Maven Java Google App Engine project (Eclipse works)IntelliJ 调试器未在 Maven Java Google App Engine 项目中遇到断点(Eclipse 有效)
【发布时间】:2015-02-05 16:49:27
【问题描述】:

所以我开始在这里拔头发。 IntelliJ 只是不想触发断点,而 Eclipse 工作得很好。我从没想过我会说那句话:|

这是我的例子:

mvn 原型:生成 -Dappengine-version=1.9.15 -Dapplication-id=your-app-id -Dfilter=com.google.appengine.archetypes:guestbook-archetype

  • 取消注释 pom.xml 中建议的行以允许远程调试

        <plugin>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-maven-plugin</artifactId>
            <version>1.9.15</version>
            <configuration>
                <enableJarClasses>false</enableJarClasses>
                <!-- Comment in the below snippet to bind to all IPs instead of just localhost -->
                <!-- address>0.0.0.0</address>
                <port>8080</port -->
                <!-- Comment in the below snippet to enable local debugging with a remove debugger
                like those included with Eclipse or IntelliJ -->
                <jvmFlags>
                    <jvmFlag>-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n</jvmFlag>
                </jvmFlags>
            </configuration>
        </plugin>
    
  • 运行 devserver 目标(编译、测试和运行 GAE 环境)

mvn appengine:devserver

(ECLIPSE:工作案例)

  • 启动 Eclipse Juno 并将项目作为 Maven 项目导入。
  • 创建“远程 Java 应用程序”调试配置
  • 设置断点,使用远程配置和 BAM 调试应用程序,断点命中和应用程序停止。正如预期的那样。

(INTELLIJ 14:失败案例)

  • 启动 INTELLIJ 并将项目作为 Maven 项目导入
  • 创建“远程 Java 应用程序”调试配置文件
  • 设置断点,使用远程配置和 BAM 调试应用,断点 FAILS 触发。

除了不同的 IDE 之外,项目设置没有区别。这告诉我我一定是在 IntelliJ 中做错了什么,但老实说我不知道​​是什么。

它只在 Eclipse 中有效,在 IntelliJ 中无效。 :|

有什么想法吗?

-- 谢恩

【问题讨论】:

标签: java eclipse google-app-engine maven intellij-idea


【解决方案1】:

我不确定这个问题是否仍然有效。

我想你可能遇到了和我一样的问题。Intellij debugger does not stop at breakpoints

您确定您的服务器正在公开 8000 端口以供调试器在启动时进行侦听。如果不是,您应该提供那些 JVM 参数。

【讨论】:

    【解决方案2】:

    我已经设法让它工作如下:

    • 按照 IntelliJ 的建议将 JVM 标志添加到 Maven/Gradle。
    • 不要使用远程(根据 GAE 文档的建议)。相反,debug appengineRun Gradle 任务(与 Maven 类似)。
    • 一旦启动并运行,点击运行/附加到本地进程。

    BAM!调试器已附加,断点命中和应用程序暂停

    【讨论】:

    • 我很高兴你让它工作了,但你的回答并不是特别有用。说“按照 IntelliJ 的建议将 JVM 标志添加到 Maven/Gradle”引出了一个问题“IntelliJ 建议了什么?”我希望我可以使用这个答案,但我需要更多信息。
    【解决方案3】:

    这肯定是个老问题,但这是答案:

    确保您在 maven 运行配置中有 -DforkCount=0 -DreuseForks=false

    来源: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206825095-Breakpoints-don-t-work-when-debugging-maven-project-

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-19
      • 2020-02-28
      • 1970-01-01
      • 2016-07-12
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      相关资源
      最近更新 更多