2015-05-18 2 views
0

Я переношу приложение, которое использовало Jetty 7.4.5.v20110725 для Jetty 9.3.0.M2, используя Maven. Я уже обновил javax.servlet-api до 3.1.0.FakeHttpServer прерывается при обновлении до Jetty 9

Но я использую FakeHttpServer version 0.3.0 для тестирования, и на данный момент нет новой версии. Он использует класс org.eclipse.jetty.server.nio.SelectChannelConnector которые существовали до Jetty 8.x, но не существует больше в Jetty 9.

В настоящее время моих проекты перерывов во время работы с NoClassDefFoundError из-за удаленный класс в Jetty, что FakeHttpServer пытается использовать , удерживая меня от обновления Jetty. Что я могу сделать, чтобы исправить это?

Обратите внимание, что это также кросс-размещены в версии Portuguese StackOverflow: https://pt.stackoverflow.com/q/64548/132

ответ

1

Upgrade код, который использует Jetty на FakeHttpServer для Jetty 9.

Это ваш единственный выбор, если вы хотите используйте Jetty 9 с FakeHttpServer.

Глядя на project page for FakeHttpServer, кажется, что там не было никаких обновлений (совершает) в дереве проекта с декабря 2012 года

Вы должны либо убедить проект приводит обновить его, или сделать это самостоятельно ,

+0

Да, нет простого способа сделать это? Как дополнительная зависимость с адаптером где-то для отсутствующих классов? Фактически, как Jetty, так и FakeHttpServer являются транзитивными зависимостями в моем проекте, и я был вынужден обновить Jetty для решения какой-либо другой проблемы с зависимостями в Maven. Это сильно усложняет и переполняет мою оценочную область изменения. –

0

Обратите внимание, что Jetty содержит несколько способов тестирования webapps. Посмотрите на модульные тесты в исходном коде причала, и я уверен, что вы найдете эквивалент FakeHttpServer.

ServletTester приходит на ум, как один пример. Или просто создать сервер с помощью LocalConnector - это еще один способ.

+0

Это не проблема. Проблема заключается в нарушении зависимости в maven. –

Смежные вопросы