【问题标题】:How do I start a Liberty server in debug mode in the background with the liberty-maven-plugin?如何使用 liberty-maven-plugin 在后台以调试模式启动 Liberty 服务器?
【发布时间】:2018-08-10 13:59:01
【问题描述】:

用例

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

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

但是 debug 目标,就像 run 目标一样,在前台运行并阻塞,直到服务器进程完成。

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

【问题讨论】:

    标签: maven websphere-liberty open-liberty liberty-maven-plugin


    【解决方案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.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多