1

用例

liberty-maven-plugin有一个调试目标,允许您在调试模式下启动服务器,但在前台

通常,当想要附加调试器时,这就是您所需要的。您可以以某种方式或通过从另一个 shell 启动的其他目标单独执行测试。

但是调试目标和运行目标一样,在前台运行并阻塞,直到服务器进程完成。

如果我想继续我的构建的下一个阶段,例如运行集成测试,它可以帮助配置一个启动目标,以调试模式在后台启动服务器,然后继续。

4

1 回答 1

1

使用:src/test/resources/jvm.options

src/test/resources/jvm.options中,例如:

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

这是<jvmOptionsFile>配置参数的默认值(在此处描述),因此您当然可以根据需要配置不同的位置。

笔记:

尽管替代方法似乎是使用<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.

于 2018-08-10T16:39:03.240 回答