【问题标题】:How do i debug a web application running on jetty in eclipse?如何在 Eclipse 中调试在码头上运行的 Web 应用程序?
【发布时间】:2012-02-22 09:59:06
【问题描述】:

以前从未做过网络编程。有没有办法设置断点,在eclipse中查看变量值?我要调试的应用程序会生成一个我想轻松提取的查询字符串。

【问题讨论】:

  • 如何启动 Jetty?如果通过mvn:jetty,那么您所要做的就是在调试模式下启动您的启动配置。
  • 我的意思是mvn jetty:run,对不起。

标签: eclipse debugging web jetty


【解决方案1】:

如果您有任何机会使用 intellij。这要容易得多。 确保您安装了码头插件。那么

  1. 在最右侧的 Maven 选项卡中,展开您的项目
  2. 展开插件
  3. 展开码头
  4. 右击jetty:run并选择'Debug DEBUG'Click to see the screenshot for refence

【讨论】:

    【解决方案2】:

    由于 URL 已损坏,我只想扩展 eaykin 的答案。

    如下运行 Mvn 调试...

    $ mvnDebug -Dmaven.test.skip -Denvironment=dev clean jetty:run

    这将在端口 8000 上等待

    准备在调试模式下执行 Maven 监听传输 dt_socket 地址:8000

    然后进入 Eclipse Run --> Debug Configurations --> Remote Java Applications 将 Host 定义为 'localhost',将端口定义为 8000(如果它们不是默认值)。

    如果您单击“调试”按钮,这将从 mvn 启动应用程序。

    【讨论】:

      【解决方案3】:

      “尝试以这种方式运行它我得到 CreateProcess 错误=193,%1 不是有效的 Win32 应用程序。”

      在 Windows 上选择 mvn.bat 而不是 mvn.exe。

      【讨论】:

        【解决方案4】:

        没有一个答案对我有用。以下是有效的方法:

        • 为您的项目创建 Maven Eclipse 运行时:
        • 右键单击项目 -> maven build -> 目标:jetty:run
        • 转到 Maven Eclipse 运行时的 JRE 选项卡,并在 VM 参数部分添加:

        -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

        当您执行此运行时,Eclipse 控制台输出的第一件事(蓝色)是:

        在地址:8000 监听传输 dt_socket

        现在您可以创建一个远程 Java 应用程序 Debug Runtime 并连接到调试端口(本例中为 8000)

        【讨论】:

          【解决方案5】:

          我会使用 maven 使用以下命令运行应用程序:mvnDebug jetty:run

          并在 Eclipse IDE 中使用端口 8000 设置远程 Java 应用程序。

          请参阅http://docs.codehaus.org/display/MAVENUSER/Dealing+with+Eclipse-based+IDE

          的“设置 Maven 2.0.8+”部分

          【讨论】:

            【解决方案6】:

            这篇文章的答案向您展示了需要传递给 JVM 以附加远程调试器的标志。

            Remote debug Jetty (no mvn, no plugins)

            这是解释 JVM 远程调试器的页面

            http://docs.oracle.com/javase/1.3/docs/tooldocs/solaris/jdb.html

            【讨论】:

              【解决方案7】:

              点击外部工具配置,

              选择程序并单击左上角的新按钮。 将位置设置为您的 Maven 二进制文件 本地工作区的工作目录和 jetty:run 的参数

              在环境选项卡中设置 maven opts。注意套接字地址 = 4000 和挂起 = y

              转到调试配置并添加新的远程应用程序。添加项目名称并设置套接字地址。现在运行应显示的外部工具:

              在地址:4000 监听传输 dt_socket

              然后你可以调试远程应用并添加断点等。

              【讨论】:

              • 试图以这种方式运行它我得到 CreateProcess 错误=193,%1 不是有效的 Win32 应用程序。并尝试使用此设置对其进行调试,但连接被拒绝。这样做的先决条件是什么?该项目使用ant命令运行码头。有没有办法像这样从命令行运行它并将调试器附加到 IDE 中?
              • /usr/bin/mvn 是一个 *nix 路径更改为 c:\where_maven_is_installed。或者如果您想通过命令行运行,只需将 MAVEN_OPTS 设置为系统变量并在命令行上运行 mvn jetty:run
              • 我发现了一个叫做 run-jetty-run 的东西,试图配置那个 atm。我希望这是一个有效的调试选项。如果失败,我会用 maven 再试一次。感谢您的帮助,顺便说一句,很棒的帖子。
              • 当您运行 run-jetty-run 时发布答案或评论。如果有帮助,请投票给答案并接受其中一个答案。
              • 项目构建太复杂了,我无法理解并让调试器工作,所以我暂时放弃了。我会投票赞成你的答案,因为它可能对其他人有帮助
              猜你喜欢
              • 2014-12-11
              • 2014-06-25
              • 1970-01-01
              • 1970-01-01
              • 2013-02-20
              • 1970-01-01
              • 2016-06-19
              • 2012-05-14
              相关资源
              最近更新 更多