如何在eclipse中调试在jetty上运行的Web应用程序?

问题描述 投票:12回答:7

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

eclipse debugging web jetty
7个回答
23
投票

单击“外部工具配置”,

选择程序,然后单击左上角的新按钮。将maven二进制工作目录的位置设置为本地工作空间,并将参数设置为jetty:run

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

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

在地址:4000处侦听传输dt_socket

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


18
投票

我将使用命令运行maven应用程序:mvnDebug jetty:run

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

请参阅:http://docs.codehaus.org/display/MAVENUSER/Dealing+with+Eclipse-based+IDE的“设置Maven 2.0.8+”部分


4
投票

这些答案都不适合我。这是做了什么工作:

  • 为您的项目创建Maven Eclipse Runtime:
  • 右键单击项目 - > maven build - >目标:jetty:run
  • 转到Maven Eclipse Runtime的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)


1
投票

由于URL被破坏,我只想扩展eaykin的答案。

运行Mvn Debug如下...

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

这将在端口8000上等待

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

然后转到Eclipse Run - > Debug Configurations - > Remote Java Applications将Host定义为'localhost',如果它们不是默认值,则转到8000。

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


0
投票

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

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


0
投票

如果您有任何机会使用intellij。这样更容易。确保安装了jetty插件。然后

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

-1
投票

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

Remote debug Jetty (no mvn, no plugins)

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

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

© www.soinside.com 2019 - 2024. All rights reserved.