如何使用 liberty-maven-plugin 在后台以调试模式启动 Liberty 服务器?
How do I start a Liberty server in debug mode in the background with the liberty-maven-plugin?
用例
liberty-maven-plugin has a debug 目标允许您以调试模式启动服务器,但在 前台。
通常在想要附加调试器时,这就是您所需要的。您可以以某种方式或通过从另一个 shell.
启动的其他目标单独执行测试
但是 调试 目标与 run 目标一样,运行 在前台并阻塞,直到服务器进程完成。
如果我想继续构建的下一阶段,例如关于 运行 集成测试,它可以帮助配置 start 目标以在后台以调试模式启动服务器,然后继续。
使用:src/test/resources/jvm.options
在src/test/resources/jvm.options中,例如:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=7777
这是 <jvmOptionsFile>
配置参数(描述 here)的默认值,因此您当然可以根据需要配置不同的位置。
注:
虽然另一种方法似乎是使用 <jvmOptions>
配置,但它不适用于此值中嵌入的逗号 (',')。
警告:
您可能期待来自启动 JVM 的消息:
Listening for transport dt_socket at address: 7777
但是您不会从 Maven 执行日志中看到它,它实际上出现在已配置服务器的 console.log 文件中。所以 Maven 执行将在记录消息时暂停:
[INFO] Starting server defaultServer.
如果您未能及时连接,您将看到:
[INFO] Server defaultServer start failed. Check server logs for details.
用例
liberty-maven-plugin has a debug 目标允许您以调试模式启动服务器,但在 前台。
通常在想要附加调试器时,这就是您所需要的。您可以以某种方式或通过从另一个 shell.
启动的其他目标单独执行测试但是 调试 目标与 run 目标一样,运行 在前台并阻塞,直到服务器进程完成。
如果我想继续构建的下一阶段,例如关于 运行 集成测试,它可以帮助配置 start 目标以在后台以调试模式启动服务器,然后继续。
使用:src/test/resources/jvm.options
在src/test/resources/jvm.options中,例如:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=7777
这是 <jvmOptionsFile>
配置参数(描述 here)的默认值,因此您当然可以根据需要配置不同的位置。
注:
虽然另一种方法似乎是使用 <jvmOptions>
配置,但它不适用于此值中嵌入的逗号 (',')。
警告:
您可能期待来自启动 JVM 的消息:
Listening for transport dt_socket at address: 7777
但是您不会从 Maven 执行日志中看到它,它实际上出现在已配置服务器的 console.log 文件中。所以 Maven 执行将在记录消息时暂停:
[INFO] Starting server defaultServer.
如果您未能及时连接,您将看到:
[INFO] Server defaultServer start failed. Check server logs for details.