websphere - 如何使用 liberty-maven-plugin "run"目标在 Debug模式下启动 Open Liberty 服务器?

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

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

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

最佳答案

对于 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的要求使用“run”)

$ 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 服务器,并将您的应用程序部署到其中(如“run”),同时还会创建一个文件“watcher”来检测项目更改,在此基础上它将自动更新您的安装,重建和重新部署您的应用程序,并重新运行您的测试。 (默认情况下您可以附加调试器)。

更多信息请参见:

关于websphere - 如何使用 liberty-maven-plugin "run"目标在 Debug模式下启动 Open Liberty 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65893511/

相关文章:

java - Servlet 信息未在 WebSphere 上获取完整版本

java - 通过 JVM 参数相对路径加载 SSL 配置

java - IBM Worklight 6.2 多个 SLF4J 绑定(bind)

jakarta-ee - 焊接-001408 : Unsatisfied dependencies in OpenLiberty with implicit bean scanning (CDI) disabled

JPA异常: No externally managed transaction is currently active for this thread

gradle - 您如何指定 IBM WAS 上的运行时依赖关系?

java - 在中型 Web 应用程序中处理数据库连接的正确方法

java - 使用 ElephantSQL 在 Bluemix 中部署 Liberty 应用程序时找不到有效的 JDBC 驱动程序

java - Spring 的 "@Validated"不适用于 Liberty 和注入(inject)

websphere - 具有故障转移功能的 IBM Liberty 消息消耗