如何在 运行 时使用此命令 java -jar target/TextSecureServer-1.22.jar server config/development.yml 在 eclipse 中调试 jar

How to debug a jar in eclipse when run with this command java -jar target/TextSecureServer-1.22.jar server config/development.yml

我正在 eclipse 中编辑 SecureServer 项目,但我在单独的命令行中使用以下命令执行它

java -jar target/TextSecureServer-1.22.jar server config/development.yml

如何将 eclipse 调试器附加到这个 运行 jar 文件?

运行ning Java 应用程序不包含用于指定调试模式的 JVM 标志 不能 附加到调试器。您将需要重新启动应用程序并指定适当的参数。您会在这些命令行选项中找到 sufficient information

对于Java5岁及以上

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

旧版本

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000

注意documentation确实说:

A process to be debugged need not have been started in debug mode(ie, with -agentlib:jdwp or -Xrunjdwp)

但这可能是尚不可用的东西。您可以使用 processexplorer 之类的工具观察 运行ning 应用程序,以查看当您 运行 没有参数的 java 应用程序时没有默认侦听端口。