Java версия с пружинной загрузкой, docker и EC2 - PullRequest
0 голосов
/ 26 апреля 2020
  • Версия с загрузочной пружиной - 2.1.13.BUILD-SNAPSHOT
  • Java версия компилятора - Jdk11
  • AWS EC2 Java версия - jdk7

Я начал работать над микросервисным проектом. Таким образом, docker образ моего сервиса был скомпилирован в Jdk11. Когда я пытаюсь загрузить и запустить контейнер - он не запускается. Теперь, проверив логи, я вижу - java .lang.UnsupportedClassVersionError Я использую maven для сборки. Стоит ли менять версию java в пом. xml? Я не смог обновить java версию в ec2. Пожалуйста, дайте мне знать, как я могу разрешить это столкновение и go - впереди. У меня много служб, и я пытаюсь поместить все это в файл EC2.

Docker: обновлено до Java 11

FROM openjdk:11.0-jdk-slim
VOLUME /tmp
COPY snapAppKey.jks snapAppKey.jks
COPY /target/SnapAppConfigServer-0.0.1-SNAPSHOT.jar ConfigServer.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","ConfigServer.jar"]

EC2

   Exception in thread "main" java.lang.UnsupportedClassVersionError: com/snapapp/config/api/SnapAppConfigServerApplication has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)

1 Ответ

1 голос
/ 26 апреля 2020

Перенос существующего кода из JDK11 в JDK8 будет более трудоемким, чем описанные выше простые операции.

измените openjdk:8-jdk-alpine на openjdk:11 в вашем Docker файле

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