我如何在调试模式下启动一个 Open Liberty 服务器,并且具有 liberty-maven-plugin “run” 目标? 使用“运行”作为 OP 询问更好、更丰富的方法

问题描述

Liberty-maven-plugin 的 liberty:run 目标提供了一个单一的目标来创建服务器、安装所需的功能和部署我的应用程序,但是如果我想附加一个调试器来逐步执行我的应用程序怎么办?

liberty:debug 目标不是答案,因为它不会在一个目标中执行所有这些操作。

解决方法

对于liberty-maven-plugin 的最新版本(自v3.1 起),例如:

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

有几个选项:

1.添加 -Dliberty.jvm.debug 属性

(使用“运行”作为 OP 询问)

$ mvn liberty:run -Dliberty.jvm.debug="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7777"

注意 'liberty.jvm.debug' 属性名称的 'debug' 部分可以是任何字符串。

2.改用 liberty:dev 模式(目标)

(更好、更丰富的方法)

“dev”目标还将在前台安装一个 Open Liberty 服务器,并将您的应用程序部署到它(如“运行”),同时还会创建一个文件“观察器”来检测项目更改,在此基础上它会自动更新您的安装,重建和重新部署您的应用程序,并重新运行您的测试。 (并且您可以默认附加调试器)。

有关更多信息,请参阅: