Я использую GraphQL в проекте Java, и он работал на сервере.
Когда я перешел на другой сервер, он перестал работать и выдает следующее исключение:
java.lang.NoSuchMethodError:
graphql.execution.ExecutionStrategy (Lgraphql / выполнение / DataFetcherExceptionHandler;). В
at graphql.execution.AbstractAsyncExecutionStrategy. (AbstractAsyncExecutionStrategy.java:19)
at graphql.execution.AsyncExecutionStrategy. (AsyncExecutionStrategy.java:23)
в graphql.GraphQL $ Builder. (GraphQL.java:199)
at graphql.GraphQL.newGraphQL (GraphQL.java:166)
Я использую точно такую же версию Java (1.8.0_181), ту же версию зависимости graphql-java (7.0) и ту же версию проекта.
Я что-то упустил? Кто-нибудь с такой же проблемой?
Заранее спасибо,
Решение
Проанализировав зависимости каждой из моих зависимостей проекта, я заметил, что graphql-java-annotations импортировал версию 3.0 библиотеки graphql-java.
Библиотека graphql-java - одна из моих проектных зависимостей, как упоминалось ранее (использовалась версия 7.0).
Как следствие, две разные версии graphql-java, на которые ссылались и которые конфликтовали друг с другом.
Чтобы решить эту проблему, я удалил зависимость graphql-java и начал использовать только версию, импортированную в graphql-java-annotations.