巴泽尔:FlywayDB java.lang.UnsupportedClassVersionError

Bazel: FlywayDB java.lang.UnsupportedClassVersionError

我正在使用 bazel 运行 一个 java8 项目。 除了 flywaydb 5.1.4 版,我得到以下信息。 我明白错误的意思,但我不想使用 java 9。我想坚持使用 java8。这是否意味着我需要降级 flywaydb 或什么?另外,为什么 class 加载程序首先加载 java9 个文件。

java.lang.UnsupportedClassVersionError: module-info 已由较新版本的 Java 运行时编译(class 文件版本 53.0),此版本的 Java 运行时仅识别 class 文件版本高达 52.0

如何在不使用 java9 的情况下解决这个问题。也许这与 bazel 有关...当我将 maven 与 flywaydb 版本一起使用时,我没有遇到这个问题

这与您使用的库关系不大;简而言之:您有一个 class 已使用 java -9 编译(因此 53)并且您尝试在最多只能处理的环境中 运行 它52 个版本。

你那里还有module-info,这意味着模块化,因此高于java-8。如果错误来自库中的 class,例如 flywaydb - 只需降级到最新的 java-8 支持的工件。