Ninja Framework:通过Eclipse和m2eclipse插件进行调试-jetty:run不会启动服务器,而是进行构建

问题描述

被指示(在使用Eclipse时)执行以下操作

如果在项目上单击鼠标左键,则会显示“调试”选项 如…”。击中并生成一个配置文件,以调试目标jetty:run。

https://www.ninjaframework.org/documentation/debugging.html

但是,当我们执行jetty:run时,我们只是构建项目,而该项目无法启动。 此外,当我们使用ninja:run运行时,调试不会在断点处停止。

我需要的是一种在断点处停止的调试模式。

我们该如何解决

解决方法

答案在Ninja Framework源代码和Jetty的新版本中,因此,如果不重新编译整个框架来解决此问题,则(可能)没有答案。我曾尝试对项目进行比较,但看不到任何可以解决较高版本的问题。直到运行命令mvn jetty:run的6.4.0版(含)为止,才能启动服务器。高于6.4.0的任何其他版本都将生成项目,然后停止。

因此,解决方案之一是使用执行旧版本的代码简单地启动一个新项目:

mvn archetype:generate -DarchetypeGroupId=org.ninjaframework -DarchetypeArtifactId=ninja-servlet-archetype-simple -DarchetypeVersion=6.4.0

另一种解决方案是部署(Jetty或Tomcat服务器)并尝试调试已部署的jar / war文件。

第一个解决方案更简单,但是第二个解决方案更合适。

在撰写本文时,最新版本是

<ninja.version>6.6.1</ninja.version>
<jetty.version>9.4.18.v20190429</jetty.version>