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/