问题描述
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 服务器,并将您的应用程序部署到它(如“运行”),同时还会创建一个文件“观察器”来检测项目更改,在此基础上它会自动更新您的安装,重建和重新部署您的应用程序,并重新运行您的测试。 (并且您可以默认附加调试器)。
有关更多信息,请参阅: