Не удалось инициализировать GraphQL: неверная версия среды выполнения ANTLR Tool - PullRequest
1 голос
/ 06 апреля 2020

Мое приложение завершается неудачно при первом запросе при попытке инициализировать GraphQL с этой ошибкой:

ANTLR Tool версии 4.7.2, используемой для генерации кода, не соответствует текущей версии времени выполнения 4.5.1

Я явно не использую эту библиотеку в своем проекте, я пытался добавить более новую версию в pom, ничего не изменилось. Оригинальный выпуск: https://github.com/graphql-java-kickstart/graphql-java-servlet/issues/241

Полная трассировка стека:

ANTLR Tool version 4.7.2 used for code generation does not match the current runtime version 4.5.1ANTLR Runtime version 4.7.2 used for parser compilation does not match the current runtime version 4.5.1Apr 06, 2020 4:54:41 PM org.apache.catalina.core.ApplicationContext log
SEVERE: StandardWrapper.Throwable
java.lang.ExceptionInInitializerError
    at graphql.parser.Parser.parseDocument(Parser.java:57)
    at graphql.parser.Parser.parseDocument(Parser.java:39)
    at graphql.kickstart.tools.SchemaParserBuilder.parseDocuments(SchemaParserBuilder.kt:181)
    at graphql.kickstart.tools.SchemaParserBuilder.parseDefinitions(SchemaParserBuilder.kt:169)
    at graphql.kickstart.tools.SchemaParserBuilder.scan(SchemaParserBuilder.kt:162)
    at graphql.kickstart.tools.SchemaParserBuilder.build(SchemaParserBuilder.kt:207)
    at it.cims30.core.api.graphql.GraphQLEndpoint.createSchema(GraphQLEndpoint.java:23)
    at it.cims30.core.api.graphql.GraphQLEndpoint.getConfiguration(GraphQLEndpoint.java:17)
    at graphql.kickstart.servlet.AbstractGraphQLHttpServlet.init(AbstractGraphQLHttpServlet.java:85)
    at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1124)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1079)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:761)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:407)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2300)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:830)
Caused by: java.lang.UnsupportedOperationException: java.io.InvalidClassException: org.antlr.v4.runtime.atn.ATN; Could not deserialize ATN with UUID 59627784-3be5-417a-b9eb-8131a7286089 (expected aadb8d7e-aeef-4415-ad2b-8204d6cf042e or a legacy UUID).
    at org.antlr.v4.runtime.atn.ATNDeserializer.deserialize(ATNDeserializer.java:153)
    at graphql.parser.antlr.GraphqlLexer.<clinit>(GraphqlLexer.java:276)
    ... 30 more
Caused by: java.io.InvalidClassException: org.antlr.v4.runtime.atn.ATN; Could not deserialize ATN with UUID 59627784-3be5-417a-b9eb-8131a7286089 (expected aadb8d7e-aeef-4415-ad2b-8204d6cf042e or a legacy UUID).
    ... 32 more

Apr 06, 2020 4:54:41 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet [it.cims30.core.api.graphql.GraphQLEndpoint]
java.io.InvalidClassException: org.antlr.v4.runtime.atn.ATN; Could not deserialize ATN with UUID 59627784-3be5-417a-b9eb-8131a7286089 (expected aadb8d7e-aeef-4415-ad2b-8204d6cf042e or a legacy UUID).
    at org.antlr.v4.runtime.atn.ATNDeserializer.deserialize(ATNDeserializer.java:153)
    at graphql.parser.antlr.GraphqlLexer.<clinit>(GraphqlLexer.java:276)
    at graphql.parser.Parser.parseDocument(Parser.java:57)
    at graphql.parser.Parser.parseDocument(Parser.java:39)
    at graphql.kickstart.tools.SchemaParserBuilder.parseDocuments(SchemaParserBuilder.kt:181)
    at graphql.kickstart.tools.SchemaParserBuilder.parseDefinitions(SchemaParserBuilder.kt:169)
    at graphql.kickstart.tools.SchemaParserBuilder.scan(SchemaParserBuilder.kt:162)
    at graphql.kickstart.tools.SchemaParserBuilder.build(SchemaParserBuilder.kt:207)
    at it.cims30.core.api.graphql.GraphQLEndpoint.createSchema(GraphQLEndpoint.java:23)
    at it.cims30.core.api.graphql.GraphQLEndpoint.getConfiguration(GraphQLEndpoint.java:17)
    at graphql.kickstart.servlet.AbstractGraphQLHttpServlet.init(AbstractGraphQLHttpServlet.java:85)
    at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1124)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1079)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:761)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:407)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2300)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:830)

1 Ответ

0 голосов
/ 07 апреля 2020

Текущее решение (из закрытого выпуска):

Вернуть graphql- java -инструмент до 5.7.1 и graphql- java до 13.0

Текущая версия не совместима с graphql- java 14.0. Мне также нужно было добавить к моей помете следующее:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  <version>3.10</version>
</dependency>

Graphql- java -инструменты, которые я использовал, чтобы использовать другую версию commons-lang3, которая давала исключение NullPointerException, если версия JDK была слишком новой ( Я пользуюсь 13).

...