java - 使用 Eclipse 和 Maven 调试打包为 WAR 的 Java Web 应用程序的最佳方法?

标签 java eclipse debugging maven-2

我以前没有构建过 Java Web 应用程序,但我已经完成了足够的测试,而且 Maven 正在构建我的 WAR 文件。它是一个多模块的Maven项目,依赖的模块都在WAR的WEB-INF/lib目录下有自己的JAR文件。

所以一切看起来都很好,但是如何调试呢?我知道如何(从命令行)在我机器上的 Tomcat 中运行 WAR。我还认为我知道如何从命令行设置和运行 Maven Jetty 插件。但是如何最好地调试...使用我喜欢 Eclipse 的所有断点和变量检查?

我应该创建某种启动配置,还是远程附加调试器? Eclipse 中有什么东西可以帮助...比如插件吗?

最佳答案

如果您使用 tomcat/jetty 插件运行 WAR,将调试选项传递给 Maven:

export MAVEN_OPTS="-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000" mvn tomcat:run

如果您使用常规 Tomcat 运行 WAR,只需启用 JPDA(调试器)支持即可运行它:

$TOMCAT_HOME/bin/catalina.sh jpda start

Tomcat 6 JPDA 的默认端口是 8000。

现在将 Eclipse(调试 -> 远程 Java 应用程序)连接到端口 8000 并享受您的调试 session 。

关于java - 使用 Eclipse 和 Maven 调试打包为 WAR 的 Java Web 应用程序的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3723743/

相关文章:

java - 告诉 Intellij 该类是库的一部分,因此方法未使用是正常的

eclipse - J2SE com.google.zxing.client.j2se.MatrixToImageWriter 是否仍然是编写条形码的标准方式?

java - Mockito - 在构造函数中模拟方法调用

java - Java 中的 MariaDB 动态列集成

java - Twitter4j.properties 文件未被读取

java - 如何使用 DropBox 和 Eclipse for Java 避免找不到主类和类定义错误

python - 在大型 Python 代码库中从结果追溯到原因

c++ - 在 Qt Creator 调试器中显示定制信息 "locals and expressions"

c# - 除了在 Visual Studio 2017 中启动之外,如何将调试器附加到其他进程?

java - 在Spring Data JPA中获取列的所有记录,即使我们将其指定为参数