如何使用 liberty-maven-plugin "run" 目标以调试模式启动 Open Liberty 服务器?
How can I start an Open Liberty server in debug mode with the liberty-maven-plugin "run" goal?
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 服务器,并将您的应用程序部署到该服务器(如 'run'),同时还会创建一个文件“watcher”来检测项目变化,它会自动更新你的安装,重建和重新部署你的应用程序,并重新运行你的测试。 (默认情况下您可以附加调试器)。
有关详细信息,请参阅:
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 服务器,并将您的应用程序部署到该服务器(如 'run'),同时还会创建一个文件“watcher”来检测项目变化,它会自动更新你的安装,重建和重新部署你的应用程序,并重新运行你的测试。 (默认情况下您可以附加调试器)。
有关详细信息,请参阅: