ExecutionStrategy构造函数方法上出现异常java.lang.NoSuchMethodError
我在一个Java项目上使用GraphQL,它在服务器上工作。 当我切换到另一台服务器时,它停止工作,并引发以下异常: java.lang.NoSuchMethodError: ExecutionStrategy.(Lgraphql/execution/DataFetcherExceptionHandler;)V 在graphql.execution.AbstractAsyncExecutionStrategy。(AbstractAsyncExecutionStrategy.java:19) 在graphql.execution.AsyncExecutionStrategy。(AsyncExecutionStrategy.java:23) 位于graphql.graphql$Builder(graphql.java:199) 位于graphql.graphql.newGraphQL(graphql.java:166) 我使用的是完全相同的Java版本(1.8.0_181)、相同的graphql Java依赖项版本(7.0)和相同的项目版本 我错过什么了吗?有人有同样的问题吗 提前感谢, 解决方案 在分析了每个项目依赖项的依赖项之后,我注意到GraphQLJava注释正在导入GraphQLJava库的3.0版本。 GraphQLJava库是我前面提到的项目依赖项之一(使用的是7.0版) 因此,两个不同版本的graphql java被引用,并且相互冲突ExecutionStrategy构造函数方法上出现异常java.lang.NoSuchMethodError,java,graphql,Java,Graphql,我在一个Java项目上使用GraphQL,它在服务器上工作。 当我切换到另一台服务器时,它停止工作,并引发以下异常: java.lang.NoSuchMethodError: ExecutionStrategy.(Lgraphql/execution/DataFetcherExceptionHandler;)V 在graphql.execution.AbstractAsyncExecutionStrategy。(AbstractAsyncExecutionStrategy.java:19) 在g
为了解决这个问题,我删除了graphql java依赖项,并开始只使用在graphql java注释上导入的版本。通常这是因为依赖项冲突 您可以将其添加到pom中:
<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>
org.apache.maven.plugins
maven编译器插件
3.1
-冗长的
然后尝试打包应用程序,它将记录从哪个jar加载
graphql.execution.ExecutionStrategy
类。然后您可以检查它是否是正确的版本。对pom进行了建议的更改,并检查了从哪个jar导入graphql.execution.ExecutionStrategy
。使用的jar是graphql-java-7.0,这是正确的。maven包上的输出:[加载ZipFileIndexFileObject[.m2/repository/com/graphql ja va/graphql java/7.0/graphql-java-7.0.jar(graphql/ExecutionResult.class)]]
有什么建议吗?@JoséMiguelMelo也许你可以尝试将版本更新到9.2
我解决了问题,并为问题添加了解决方案。一个小问题:正如解决方案中提到的,我将GraphQLJava(v7.0)和GraphQLJava注释库作为依赖项。最后一个具有作为依赖关系图的java(v3.0)。Graphql java版本相互冲突。内部依赖关系是否应该替换为我的项目pom.xml上指定的依赖关系?@JoséMiguelMelo不是专家,但也许可以解决它。