У нас есть модуль, который использует DropWizard с Jetty, и он не запускается при запуске с ошибкой: «org / eclipse / jetty / util / thread / ExecutionStrategy $ Factory»
java.lang.NoClassDefFoundError: org/eclipse/jetty/util/thread/ExecutionStrategy$Factory
at org.eclipse.jetty.io.SelectorManager.<init>(SelectorManager.java:52)
at org.eclipse.jetty.server.ServerConnector$ServerConnectorManager.<init>(ServerConnector.java:497)
at org.eclipse.jetty.server.ServerConnector.newSelectorManager(ServerConnector.java:229)
at org.eclipse.jetty.server.ServerConnector.<init>(ServerConnector.java:221)
at io.dropwizard.jetty.HttpConnectorFactory.buildConnector(HttpConnectorFactory.java:562)
at io.dropwizard.jetty.HttpConnectorFactory.build(HttpConnectorFactory.java:539)
at io.dropwizard.server.DefaultServerFactory.buildAppConnectors(DefaultServerFactory.java:234)
at io.dropwizard.server.DefaultServerFactory.buildRoutingHandler(DefaultServerFactory.java:194)
at io.dropwizard.server.DefaultServerFactory.build(DefaultServerFactory.java:172)
at io.dropwizard.cli.ServerCommand.run(ServerCommand.java:49)
at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:44)
at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:87)
at io.dropwizard.cli.Cli.run(Cli.java:78)
at io.dropwizard.Application.run(Application.java:93)
Есть несколько модулей в этот проект, и в проекте есть 2 разных артефакта jetty-io, один с версией: 9.3.20 и 9.4.18 (именно здесь находится SelectorManager, который пытается использовать несуществующий интерфейс). И по какой-то причине кажется таким, что более старая версия (9.3.20, которую извлекает другой модуль) попадает в путь к классам, и она пытается использовать интерфейс Factory в интерфейсе ExecutionStrategy. Интерфейс ExecutionSrategy находится внутри артефакта jetty-util. И есть 2 версии этого артефакта (9.4.18 и 9.3.19, более новая версия не имеет этот интерфейс Factory в ExecutionStrategy.
Результат mnv: dependency - Перевернутый модуль, в котором была выдана ошибка: результат команды mvn
Я действительно не знаю, как решить эту проблему, дерево maven выглядит хорошо, из чего используются хорошие зависимости Я вижу