Исключение java.lang.NoSuchMethodError в методе конструктора ExecutionStrategy - PullRequest
0 голосов
/ 04 сентября 2018

Я использую 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.

1 Ответ

0 голосов
/ 04 сентября 2018

Обычно это происходит из-за конфликта зависимостей.

Вы можете добавить это к вашему пом:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <compilerArgs>
                    <arg>-verbose</arg>
                </compilerArgs>
            </configuration>
        </plugin>
    </plugins>
</build>

, затем попробуйте упаковать ваше приложение, оно запишет, из какого файла загружен класс graphql.execution.ExecutionStrategy. Затем вы можете проверить правильность версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...