使用 Antlr 4.10.1 运行 Spark 3.3.2 时出现问题

Kar*_*una 7 antlr apache-spark

我已经使用 Hibernate 6 升级了旧应用程序,该应用程序使用 Altlr4 运行时 4.10.1。它还使用了 Spark,它是 3.3.2,使用 Antlr4 运行时版本 4.8。运行应用程序时出现以下错误:

Caused by: java.io.InvalidClassException: org.antlr.v4.runtime.atn.ATN; Could not deserialize ATN with version 3 (expected 4).
    at org.antlr.v4.runtime.atn.ATNDeserializer.deserialize(ATNDeserializer.java:56) ~[antlr4-runtime-4.10.1.jar:4.10.1]
    at org.antlr.v4.runtime.atn.ATNDeserializer.deserialize(ATNDeserializer.java:48) ~[antlr4-runtime-4.10.1.jar:4.10.1]
    at org.apache.spark.sql.catalyst.parser.SqlBaseLexer.<clinit>(SqlBaseLexer.java:1603) ~[spark-catalyst_2.13-3.3.2.jar:3.3.2]
    at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:107) ~[spark-catalyst_2.13-3.3.2.jar:3.3.2]
Run Code Online (Sandbox Code Playgroud)

在调试时,我发现 SqlBaseLexer 是使用 antlr4 4.8 版本生成的,因此在使用任何更高版本的 antlr4 运行时会抛出错误。有没有办法在更高版本的Antlr4上运行Spark 3.3.2?