Я в процессе обновления основных библиотек моего веб-приложения. Он развернут на Jetty 9.2 или Tomcat 7.x на Java8.
Я обновил Spring и Spring-Web до 5.2.0.RELEASE, и сейчас я пытаюсь получить последнюю версию Jersey2. Джексона используют оба, и я считаю невозможным придумать комбинацию, которая работает.
Подробно:
Spring-Web, кажется, требует Jackson 2.9.xв противном случае AllEncompassingFormHttpMessageConverter
и вместе с ним MappingJackson2HttpMessageConverter
бросают java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException
Вследствие этого зависимости jersey2 становятся версиями 2.28 и выше для поддержки Jackson 2.9.x
Джерси 2.28 (и также 2.26) уже имеет зависимости от упакованных библиотек Java9, и затем контейнеры сервлетов генерируют исключения около module-info.class
из-за сканирования классов контейнера сервлета.
Кто-нибудь может поделиться зависимостями, которые они используют? Обратите внимание, что я хотел бы избежать обновления среды выполнения.