如何使用liberty-maven-plugin在后台以调试模式启动Liberty服务器?

时间:2018-08-10 13:59:01

标签: maven websphere-liberty open-liberty

用例

liberty-maven-plugin有一个debug目标,可让您以调试模式启动服务器,但以 foreground 为准。

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

但是 debug 目标(例如run目标)在前台运行并阻塞,直到服务器进程完成。

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

1 个答案:

答案 0 :(得分:1)

使用: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.