Как мне откатить версию java.util.Map? - PullRequest
0 голосов
/ 02 марта 2019

Этот вопрос должен быть актуален для всех, кому интересно узнать о связи между версиями стандартных объектов 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 мне нужно изменить. Файл класса имеет неправильную версию 52.0, должен быть 50.0

Я попытался вернуться к Java 6, основываясь на предположении, что Java 6 имеет правильную версию Map.class, но на мойсюрприз, это не сработало.

Спасибо, Бен

1 Ответ

0 голосов
/ 23 мая 2019

Попробуйте использовать Java 8 вместо 11.

  • Установите OpenJDK 8
    sudo apt install openjdk-8-jdk
    
  • Убедитесь, что вы используете правильную версию Java.Вы можете использовать update-alternatives , чтобы выбрать правильную установку Java:
    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::")
    

Дайте мне знать, если это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...