微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Open Liberty 服务器开发模式下调试我的测试使用 Liberty-maven-plugin并打开/关闭调试器? 背景警告

如何解决如何在 Open Liberty 服务器开发模式下调试我的测试使用 Liberty-maven-plugin并打开/关闭调试器? 背景警告

总结

如何在liberty-maven-plugin 的"dev mode" 中迭代运行我的单元/集成测试,并轻松打开和关闭将调试器启动到JVM 本身运行测试?

背景

虽然 Liberty-maven-plugin 认在调试模式下启动 Open Liberty 服务器,但有时您需要自己调试到单元/集成测试的源中。每次我点击 <Enter> 时,Liberty-maven-plugin 开发模式都会启动服务器并(认情况下)运行我的测试。

我可以利用标准的 documented 方法认情况下会启动一个分叉的 JVM,等待端口 5005 上的调试器,例如:

mvn -Dmaven.failsafe.debug liberty:dev

但是如果我已经在没有在命令行上设置该属性的情况下启动了开发模式怎么办?

是否有一种简单的方法可以事后启用调试器?或者在执行过程中打开/关闭它?

解决方法

“切换”测试调试模式的一种简单方法是使用 Maven 项目属性并动态注释/取消注释标准测试调试属性,例如ma​​ven.failsafe.debug

例如,这将在分叉的 JVM 中启动 IT,暂停并等待端口 5005 上的调试器:

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.failsafe.debug>true</maven.failsafe.debug>
        <!-- 
          <maven.surefire.debug>true</maven.surefire.debug>
        -->
    </properties>

您还可以使用普通插件配置在 pom.xml 中配置 maven-failsafe-plugin 以配置非默认行为。

这应该适用于最近(自 v3.1 起)版本的自由行家插件,例如:

        <plugin>
            <groupId>io.openliberty.tools</groupId>
            <artifactId>liberty-maven-plugin</artifactId>
            <version>3.3.3</version>
        </plugin>

这可以应用于一个简单的示例应用程序,例如此处的示例应用程序: https://openliberty.io/guides/getting-started.html

警告

不要犯将值切换为“false”的错误,因为您实际上是在配置 this 参数。只需将其完全注释掉,以避免调试器挂起。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。