我正在使用bazel运行Java8项目。 对于flywaydb 5.1.4版,我得到以下异常。 我知道错误说明了什么,但我不想使用Java9。我想坚持使用Java8。这是否意味着我需要降级flywaydb或什么?另外,为什么类加载器始终首先加载Java9文件。
java.lang.UnsupportedClassVersionError:
module-info由Java Runtime的最新版本(类文件版本53.0)编译而成,此版本的Java Runtime仅可识别52.0以下的类文件版本。
如何在不使用java9的情况下解决此问题。也许这与bazel有关...当我将Maven与flywaydb版本一起使用时,我没有这个问题
答案 0 :(得分:1)
这与您使用的库无关;简而言之:您有一个用java -9
(因此是53
)编译过的类,并试图在只能处理多达52
个版本的环境中运行它。 / p>
您还在那里有module-info
,这意味着模块化,因此比java-8高。如果错误来自库中的类,例如flywaydb
-只需将其降级到最新的Java-8支持的工件。