该问题应该与任何有兴趣了解标准Java对象版本和JDK版本之间的关系以及如何回滚Java版本的人有关。
因此:如何回滚java.util.Map对象的版本?我确定我也必须回滚其他对象。
我正在尝试遵循这些说明(https://cloud.google.com/solutions/mobile/mobile-firebase-app-engine-flexible ),当我尝试让Maven运行我的本地服务器或部署到云应用引擎时,出现以下错误:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile
(default-compile) on project backend: Compilation failure [ERROR]
C:\Users\bensw\AndroidStudioProjects\firebase-appengine-backend\src\main\java\com\google\cloud\solutions\flexenv\common\LogEntry.java:[23,17]
cannot access java.util.Map [ERROR] bad class file:
/modules/java.base/java/util/Map.class [ERROR] class file has
wrong version 55.0, should be 53.0 [ERROR] Please remove or make
sure it appears in the correct subdirectory of the classpath.
我在这里找到了有关此主题的一些帖子,但是我不确定如何将这些答案应用于这种情况。我没有使用IntelliJ,也不确定需要更改哪个SDK。 Class file has wrong version 52.0, should be 50.0
基于Java 6具有正确的Map.class版本的猜测,我试图切换回Java 6,但是令我惊讶的是,这没有用。
谢谢, 本
答案 0 :(得分:0)
尝试使用Java 8而不是11。
sudo apt install openjdk-8-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac
JAVA_HOME
指向会话中正确的JDK:
export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
让我知道是否可行。