FakeHttpServer 在升级到 Jetty 9 时中断

FakeHttpServer breaks when upgrading to Jetty 9

我正在使用 Maven 将使用 Jetty 7.4.5.v20110725 的应用程序迁移到 Jetty 9.3.0.M2。我已经将 javax.servlet-api 升级到 3.1.0。

但是我正在使用FakeHttpServer version 0.3.0进行测试,目前没有更新的版本。它使用 Jetty 8.x 之前存在的 org.eclipse.jetty.server.nio.SelectChannelConnector class,但在 Jetty 9 中不再存在。

目前,由于 FakeHttpServer 尝试使用的 Jetty 中删除了 class,我的项目在运行时中断 NoClassDefFoundError,这使我无法升级 Jetty。我该怎么做才能解决这个问题?

注意,这也在葡萄牙语 Whosebug 版本中交叉发布:https://pt.whosebug.com/q/64548/132

为 Jetty 9 升级在 FakeHttpServer 上使用 Jetty 的代码。

如果您想将 Jetty 9 与 FakeHttpServer 一起使用,那是您唯一的选择。

查看 project page for FakeHttpServer,似乎自 2012 年 12 月以来没有对项目树进行更新(提交)。

您要么必须说服项目负责人更新它,要么自己动手。

请注意,Jetty 包含多种测试网络应用程序的方法。查看码头源代码中的单元测试,我相信您会发现 FakeHttpServer 的等效项。

ServletTester 就是一个例子。或者只是使用 LocalConnector 创建一个服务器是另一种方法。