Як виправити java.lang.UnsupportedClassVersionError: Непідтримувана версія major.minor


1572

Я намагаюся використовувати Notepad ++ як мій інструмент «все в одному», редагувати, запускати, компілювати тощо.

У мене встановлено JRE , і я налаштував свою змінну шляху до .../binкаталогу.

Коли я запускаю "Hello world" у Notepad ++, я отримую це повідомлення:

java.lang.UnsupportedClassVersionError: test_hello_world :
 Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
       .........................................

Я думаю, що проблема тут полягає у версіях; деякі версії Java можуть бути старими або занадто новими.

  1. Як це виправити?
  2. Чи варто встановити JDK і встановити мій шлях до JDK замість JRE?
  3. Яка різниця між PATHзмінною в JRE або JDK?

Ви також встановили jdk? jre - середовище Java RunTime, для створення Java-додатків вам також потрібен jdk
CyprusUS

так, я зробив, і тепер мій змінний шлях вказує на те, де jdk. але у мене все ще є ця "непідтримувана другорядна версія 51.0" помилка, ви вважаєте, мені слід встановити старішу версію jdk? я використовую jdk 1.7.0
ERJAN

20
Це сталося зі мною на Mac OS X, коли у мене виникли проблеми через дивну ситуацію Apple Java 6 та Oracle java 7 на OSX в ці дні. коротка версія: компілюйте з JDK7, запустіть з JDK6, отримайте це.
Warren P

7
У java ClassName має бути розпочато з великої літери;)
Ashish Panery

5
Для Ель - Капітан, ця відповідь зафіксував його для мене: stackoverflow.com/a/34201991/1615594
tsuz

Відповіді:


1939

Показаний номер версії описує версію файлу JRE, з яким сумісний файл класу.

Основні дані, про які повідомляється:

Java SE 14 = 58,
Java SE 13 = 57,
Java SE 12 = 56,
Java SE 11 = 55,
Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

(Джерело: Вікіпедія )

Для усунення фактичної проблеми слід спробувати або запустити код Java з новою версією Java JRE, або вказати цільовий параметр компілятору Java, щоб доручити компілятору створити код, сумісний з попередніми версіями Java.

Наприклад, щоб генерувати файли класів, сумісні з Java 1.4, використовуйте такий командний рядок:

javac -target 1.4 HelloWorld.java

З новішими версіями компілятора Java ви, ймовірно, отримаєте попередження про те, що шлях до класу bootstrap не встановлений. Більше інформації про цю помилку розміщено в публікації в блозі Нове попередження javac для встановлення старішого джерела без завантажувальної програми .


167
"Показаний номер версії описує, яку версію, якщо Java використовується для складання коду." Ні, це не є. Він показує версію JRE, з якою сумісний файл класу. Використовуючи параметри перехресної компіляції, ви можете використовувати 1.7 JDK для компіляції коду з версією класу від 1.1 (до 1.7).
Ендрю Томпсон

85
Ця відповідь не пояснює, як це виправити як поставлене запитання?
Джонатан Леун

7
Це гарне рішення для компіляції в попередній версії з Eclipse , безпосередньо: stackoverflow.com/a/16345710/2091700
Alphaaa

19
IN eclipse project => Proerties => java компілятор; встановіть "рівень відповідності компілятора" до версії відповідно до вашого jre або jdk. Що стосується мене, це 1.6 для jre 1.6
Sam Sam

5
Це може статися, коли джерело компілятора встановлено невідповідно до поточного компілюючого JRE / JDK. Наприклад, я знайшов наведені нижче значення із папки .settings eclipse, org.eclipse.jdt.core.compiler.compliance = 1.7, org.eclipse.jdt.core.compiler.source = 1.7, org.eclipse.jdt.core.compiler .codegen.targetPlatform = 1,7. А мій компілятор був 1.6.0_32. Проблема була вирішена після зміни значень на 1,6. Проблема виникла після того, як я скопіював проект з іншого робочого простору, де я використовував JDK 1.7 :(
Гана

366

java.lang.UnsupportedClassVersionError відбувається через більш високий JDK під час компіляції та нижчий JDK під час виконання.


11
+1: зміна цього символічного посилання ( /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java) на версію, що використовується для компіляції з javac, вирішила це
ezdazuzena

1
Як я можу зробити зміни вище?
Ankur Raiyani

8
Проект -> Властивості -> Компілятор Java Увімкніть конкретні параметри проекту. Потім виберіть рівень сумісності компілятора до 1,7, 1,6 або 1,5, складіть і протестуйте додаток.
Вівек Кумар Рей

Коли я перейшов на Java 7, якимось чином Eclipse намагався запуститись на Java 6 ... не знаю чому. Видалення старого JDK зробило для мене трюк.
HDave

9
@ezdazuzena використовуйте sudo update-alternatives --config javaдля цього.
Thorbjørn Ravn Andersen

115

У програмі Eclipse я просто перейшов до команди меню Вікно -> Налаштування -> Java -> Компілятор, а потім встановив "Рівень відповідності компілятора" на 1,6.


3
У затемненні колись грані проекту також потрібно змінити на відповідну версію Java.
Білал Мірза

6
Дякую. Варто відзначити, що налаштування середовища виконання Eclipse за замовчуванням (JRE, що йде на шлях збірки) - це окрема настройка. Я встановив JRE, але не рівень відповідності компілятора; це зафіксувало це.
wchargin

І як ви зробили висновок із повідомлення про помилку, що це правильне місце для встановлення параметра?
Олександр

Можливо, це: stackoverflow.com/questions/7073485/… може допомогти, якщо ви використовуєте мурашник і затемнення.
OuuGiii

Питання стосується Notepad ++, але не Eclipse.
gotwo

60

Не хвилюйтесь, я це вирішив.

Це насправді просто - вам потрібно встановити BOTH JRE / JDK з тією ж версією.

JRE 6 -> JDK 6

JRE 7 -> JDK 7

І так далі.


29
java 7 також може впоратися з 6 без проблем.
damienix

@damienix Ви, мабуть, хочете вказати, що Java 7 JRE може без проблем обробляти клас, складений Java 6, інакше ваше твердження призводить до плутанини.
Фронтеар

43

Ця помилка означає, що ви намагаєтеся завантажити файл "класу" Java, який був складений з новою версією Java, ніж ви встановили.

Наприклад, ваш .classфайл міг бути складений для JDK 7, і ви намагаєтеся запустити його з JDK 6.

Тож рішення:

  • Оновіть час виконання Java або
  • Перекопіюйте клас, якщо у вас є джерело, використовуючи локальний компілятор Java (якщо у вас є).

    javac FileName.java

Для розробників це може статися, якщо інший розробник перевірить файл .class, і у них з'явилася нова версія Java, ніж у вас!


22

Ви намагаєтеся запустити свою програму з версією Java, яка не підтримує версію, з якої був складений код. Тому в основному ви повинні скласти свій код з більш високою версією і намагатися запустити його за допомогою нижчої версії.

Як ви отримуєте

Unsupported major.minor version 51.0

а версія 51.0 відповідає J2SE 7, ви, швидше за все, склали свій код на Java 7 і намагаєтеся запустити його за допомогою нижчої версії. Перевірте, що java -versionвідображається. Це має бути версія Java 7. Якщо не внести відповідних змін у PATH / JAVA_HOME. Або ви можете компілювати з тією ж версією, що ви намагаєтеся запустити код. Якщо конфігурації заплутані, ви завжди можете дати абсолютний шлях /home/user/jdk1.7.0_11/bin/javacі /home/user/jdk1.7.0_11/bin/java.


18

У мене була схожа ситуація на Mac, і для мене спрацював наступний процес:

У терміналі введіть

vi ~/.profile

Потім додайте цей рядок у файл та збережіть

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home

де версія на вашому комп'ютері, наприклад 1.7.0_25.

Вийдіть із редактора, а потім введіть наступну команду, щоб вона стала ефективною

source ~/.profile 

Потім введіть java -version, щоб перевірити результат

java -version 

Що таке .profileфайл?

.profile файл - це прихований файл. Це необов'язковий файл, який повідомляє системі, які команди запускаються, коли користувач, чий файл профілю він входить у систему. Наприклад, якщо моє ім’я користувача бруно і є файл .profile в / Users / bruno /, весь його вміст буде виконано під час процедури входу.

Джерело: http://computers.tutsplus.com/tutorials/speed-up-your-terminal-workflow-with-command-aliases-and-profile--mac-30515


16

У меню Eclipse Window -> Preferences -> Java -> Compiler також поставте прапорець "Налаштувати конкретні параметри проекту".

Якщо у вас є помилка з тією ж версією Java: спробуйте видалити папку збірки проекту вручну. Потім перезапустіть Eclipse.


14

У Java 7 може бути зібрана бібліотека JAR, а у вас є лише Java 6 як Java Runtime. Це може статися з деякими новими бібліотеками.


14

Найпоширенішою проблемою є неправильне налаштування JAVA_HOMEзмінної, яка повинна вказувати на потрібну бібліотеку Java Development Kit, якщо у вас декілька встановлених.

Щоб знайти, де знаходиться папка Java SDK, виконайте такі команди:

jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'

Debian / Ubuntu

Щоб перевірити встановлений Java (openjdk), перевірте через:

dpkg -l "openjdk*" | grep ^i

або:

update-java-alternatives -l

Щоб змінити його, використовуйте:

update-alternatives --config java

Префікс з, sudoякщо потрібно.

вибрати альтернативну версію Java.

Або перевірте, які доступні для встановлення:

apt-cache search ^openjdk

Префікс з, sudoякщо потрібно.

Потім ви можете встановити, наприклад:

apt-get install openjdk-7-jre

Префікс з, sudoякщо потрібно.

Fedora, Oracle Linux, Red Hat

Встановити / оновити відповідний пакет через:

yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel

У java-1.7.0-openjdkпакеті міститься лише середовище Java Runtime Environment. Якщо ви хочете розробити програми Java, тоді встановіть java-1.7.0-openjdk-develпакет.

BSD

У колекції портів FreeBSD є пакет OpenJDK 7 під назвою openjdk7, який, ймовірно, потрібно переналаштувати.

Див.: Вікі-сторінка OpenJDK .

Windows

Просто встановіть відповідну бібліотеку Java SE Development Kit з сайту Oracle або встановіть

Дженкінс

Якщо у вас виникає проблема з Дженкінсом, див.

Однак вибір правильної версії Java (новішої) з update-alternativesповинен працювати.


Ця відповідь працювала для мене при спробі використання spark2-shell на хості після додавання іскрового сервісу до кластеру з cloudera.
Альтер

12

Я зіткнувся з тією ж проблемою, коли працював зі сценарієм Ant, щоб створити свою програму.

Я використовую Eclipse для розробки додатків, і я змінив версію компілятора у властивостях збирання проекту. Але це не спрацювало для мене. Тоді я з'ясував, що можу надати версію компілятора в сценарії Ant.

Я змінив сценарій Ant в розділі, де він збирає файли Java.

<target name="build-java" depends="prepare-build">
    <echo message="Compiling java files"/>
    <javac ....
           target="1.5"...
    </javac>
</target>

Це допомогло мені вирішити непідтримувану основну незначну проблему.



12

У мене виникла така ж проблема з проектом, написаним в 1.7, і спробували виконати в 1.6.

Моє рішення в Eclipse:

  • Клацніть правою кнопкою миші на Ваші властивості проекту -> Java Build Path -> Бібліотеки

  • Виберіть JRE System Library і натисніть кнопку Змінити праворуч, і виберіть цільової JRE.

  • Тепер перейдіть до Java Compiler ліворуч та змініть рівень відповідності компілятора на вашу ціль.

Це працювало для мене.


11

Як відповіли деінде десь, програма Java запускається на більш старій версії Java, ніж тій, для якої вона була складена. Для зворотної сумісності його потрібно "перехресно". Інакше кажучи, існує невідповідність між вихідною та цільовою версіями Java.

Зміна параметрів у меню Eclipse не відповідає оригінальному афіші, який сказав, що він не використовує Eclipse. На OpenJDK JAVAC версії 1.7, ви можете crosscompile на 1.6 , якщо ви використовуєте параметри -sourceі -target, плюс забезпечити rt.jar -файл цільової версії (тобто, старший) під час компіляції. Якщо ви фактично встановите 1.6 JRE, ви можете вказати на його встановлення (наприклад, /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar на Ubuntu, / usr / jdk / jdk1. 6.0_60 / jre / lib / rt.jar на SunOS, мабуть. Вибачте, я не знаю, де це в системі Windows). Так:

javac -source 1.6 -target 1.6 -bootclasspath /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar HelloWorld.java

Схоже, ви можете просто завантажити rt.jar з Інтернету та вказати на нього. Це не надто елегантно:

javac -source 1.6 -target 1.6 -bootclasspath ./rt.jar HelloWorld.java

10

Виходячи з цього ...

J2SE 8 = 52
J2SE 7 = 51
J2SE 6.0 = 50
J2SE 5.0 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
JDK 1.1 = 45

У програмі Eclipse клацніть правою кнопкою миші на проект в Explorer Explorer:

Шлях побудови -> Налаштування контуру побудови

Під:

Шлях збірки Java -> Бібліотеки -> Додати бібліотеку -> Системна бібліотека JRE -> Встановлені JRE -> Пошук .

Додайте потрібний JRE, вибравши бібліотеку у списку, доступному після завершення пошуку.


10
  • Якщо ви використовуєте Maven, встановіть рівень компіляції Java. Відкрийте командний рядок і напишіть java -versionдля рівня компіляції:

    Введіть тут опис зображення

  • Якщо ви використовуєте IntelliJ IDEA, виберіть проект → ФайлНалаштуванняРозгортання виконання збіркиКомпіляторКомпілятор Java . Потім змініть байт-код на 1.7, як це зображення:

    Введіть тут опис зображення


Мені потрібно було також зробити чисту установку після зміни пам’яті.
Джо Борисько

10

Якщо ви зіткнулися з цією проблемою під час використання Maven , ви можете скласти свій код за допомогою плагіну Maven Compiler .

 <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
       .....

UPDATE: встановити sourceі targetв 1.8, якщо ви використовуєте JDK 8.


фрагмент про те, як використовувати плагін для крос-компіляції, був би дуже гарним замість відвідування / відкриття посилання
coding_idiot

8

У мене було те саме повідомлення про помилку під час запуску Ant з Eclipse, але інші згадані тут рішення не вирішили мою проблему. Найцікавішим було те, що запуск Ant з командного рядка Windows працює нормально, тому це повинно бути проблемою конфігурації в Eclipse.

Виявилося, що в Eclipse ви можете вказати середовище, з яким мусить працювати Ant, і це було встановлено як JRE замість JDK.

  • Перейдіть до: Запустити -> Зовнішні інструменти -> Конфігурації зовнішніх інструментів ...
  • Виберіть Ant build.xml для свого проекту (якщо у вас кілька проектів)
  • Активуйте вкладку 'JRE'
  • Тут було обрано "Окремий JRE: jre6". Коли я змінив це на JDK з серій 1.6 або 1.7, помилка не стала.

8

Як це виправити?

Ця помилка означає, що JRE, який використовується для виконання коду класу, не розпізнає використану версію Java. Зазвичай тому, що версія Java, яка генерувала файл вашого класу (тобто компілювала його), є новішою.

Щоб виправити це, ви можете будь-який

a) Скомпілюйте джерела Java з тією самою або старішою версією компілятора Java, яку буде використано для її запуску. тобто встановіть відповідний JDK.

b) Компілюйте джерела Java з новою версією компілятора Java, але в режимі сумісності. тобто використовувати-target параметр.

c) Запустіть свої компільовані класи в JRE, яка є тією ж або новітньою версією, що і JDK, що використовується для компіляції класів.

Ви можете перевірити версії, якими ви зараз користуєтесь, javac -versionдля компілятора та java -versionдля виконання.

Чи повинен я встановити JDK і встановити свою змінну PATH на JDK замість JRE?

Для компіляції, безумовно, встановіть і налаштуйте конкретний JDK, який потрібно.

Під час виконання ви можете використовувати ту, що постачається з JDK або окремим JRE, але незалежно від цього переконайтеся, що ви встановили правильні версії та чи налаштували ви PATH таким чином, щоб не було сюрпризів.

Яка різниця між змінною PATH у JRE або JDK?

Змінна середовища PATH вказує командній оболонці, де шукати команду, яку ви вводите. Коли ви вводите java, інтерпретатор оболонки команд буде переглядати всі місця, вказані в PATHзмінній, зліва направо, щоб знайти відповідний javaвиконуваний час виконання. Якщо у вас встановлено кілька версій Java - тобто у вас єjava виконуваний файл у кількох місцях, вказаних у змінній PATH, тоді першою, що виникає при переході зліва направо, буде та, яка виконується.

Команда компілятора є javacі постачається лише JDK. Команда виконання є javaі постачається з JDK і знаходиться в JRE.

Цілком імовірно, що у вас встановлена ​​одна версія (51.0 = Java 7) javac, і ви також встановили ту саму версію, що javaвстановлена, але інша попередня версія javaз'являється раніше в PATH, і тому вона викликається замість тієї, яку ви очікуєте .


7

Ви використовували більш високу версію JDK для компіляції та спроби запуску з нижчої версії JDK / JRE .

Щоб перевірити це, перегляньте інформацію про версію:

javac -version

java -version

Вони будуть іншими, і javac матиме більший номер версії.

Щоб обійти це, запустіть java з версії JDK або якщо у вас є новіший JRE / JDK, який також буде працювати.

which javacпокаже вам місце, наприклад, /usr/bin/javac. Просто запустіть безпосередньо за допомогою/usr/bin/java <program> .

АБО ви можете встановити змінну оточення як постійне рішення.


6

Ця проблема була, коли я повернувся до Java 6 і спробував запустити класи, раніше скомпільовані з Java 7. Що для мене спрацювало: Налаштування> java> компілятор -> встановити рівень відповідності на 1,6 і вирішально "налаштувати параметри проекту" ..


6

Сьогодні це повідомлення про помилку з’явилось у нашому Tomcat 7 на Ubuntu 12.04.2 LTS ( Precision Pangolin):

/var/log/tomcat7/localhost.2014-04-08.log:
8 квітня 2014 р. 9:00:55 org.apache.catalina.core.StandardContext filterStart
SEVERE: Виняток запуску фільтру struts2
java.lang.UnsupportedClassVersionError: контролер / ReqAccept: Непідтримувана major.minor версії 51.0 (не вдається завантажити клас controller.ReqAccept)

Додаток Struts компілюється з Java 7.

Виявилося, хтось використовує "службу tomcat [stop / start]", щоб перезапустити Tomcat 7,

$ ps -ef | grep java
tomcat7 31783 1 32 20:13? 00:00:03 / usr / lib / jvm / default-java / bin / java ...
$ / usr / lib / jvm / default-java / bin / java -версія
java версія "1.6.0_27"

Що спричиняє помилку "Непідтримуваний major.minor версії 51.0".

Коли ми використовували "/etc/init.d/tomcat7 [stop / start]" для перезавантаження Tomcat 7, проблема була вирішена.

$ ps -ef | grep java
tomcat7 31886 1 80 20:24? 00:00:10 /usr/local/java/jdk1.7.0_15/bin/java
$ /usr/local/java/jdk1.7.0_15/bin/java -версія
java версія "1.7.0_15"


6

Я вирішив це. Я побіг:

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386

Помилка в оману, Unsupported major.minor version 51.0. Це створює враження, що версія 51 (Java 7) не підтримується. І ми повинні використовувати Java 6.

Помилка повинна була бути:

Поточна версія Java, 50, не підтримується. Використовуйте натомість версію Java 7 (51: 0 і вище). "


6

Ваш файл Java складений з іншою версією (вища версія компілятора), ніж версія (нижча версія виконання), з якою ви намагаєтеся запустити його.

Основне розуміння того, що класи, складені з нижчими версіями, очікуються, щоб вони працювали в більш пізніх версіях. Але навпаки (компільована з вищою версією компілятора і намагається запустити її з нижчою версією виконання) іноді це неможливо.

Отже, вам відображається ця помилка при спробі виконання програми. Непідтримувана версія major.minor xx

З: Я створив додаток у Java 7, але коли мої користувачі намагаються запустити його, вони отримують помилку непідтримуваного майора.minor версії 51.0. Що це означає і що я можу з цим зробити?

Відповідь: Якщо ви компілюєте додаток, використовуючи javac на Java 7, отримані класи файлів матимуть номер версії 51.0. Версії Java до 7 не розпізнають це число, тому вашим користувачам доведеться перейти на Java 7 перед запуском програми. Якщо ви не використовуєте жодних API Java 7, ви можете спробувати скласти свою програму за допомогою javac -target 1.6 для створення 1.6-сумісного файлу класів. Якщо ваша програма розгорнута за допомогою веб-запуску, ви можете вказати необхідну мінімальну версію. Для отримання додаткової інформації дивіться документи про веб-початок Java та JNLP тут. Ця проблема зникне, коли ми запустимо автоматичне оновлення до Java 7 для кінцевих користувачів, на яких зараз на робочому столі працює Java 6. Часова шкала цього ще не визначена, ми хочемо спочатку дати розробникам час для розробки будь-яких проблем між їх кодом та JDK 7.

(Джерело: oracle.com .)


5

Про Mac OS XI вдалося вирішити цю проблему, встановивши змінну JAVA_HOME:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home

4

Спочатку давайте розберемося з основами ...

JRE - компонент NetBeans / Eclipse / автономний, який надасть вам бібліотеки, JVM, плагіни Java та веб-запуск Java. Зауважте, що він не надає компіляторів чи налагоджувачів.

JDK - це суперсеть JRE разом із компіляторами та налагоджувачами.

Отже, коли у вас є бібліотека за замовчуванням як JRE замість JDK, вам буде приємно імпортувати речі, але вона не буде компілюватися.

Замість цього встановіть свій шлях до JDK (я використовую NetBeans, і я встановлю їх за допомогою netbeans.conf в netbeans / etc / netbeans.conf та змініть шлях).


3

У мене виникла проблема, коли мені потрібно було запустити компіляцію Maven для мого проекту з командного рядка, щоб запустити мої одиничні тести; якщо я вніс зміни в тестовий клас і дозволив Eclipse автоматично його перекомпілювати, тоді я отримав помилку "Непідтримуваний major.minor версії 51.0".

У мене встановлені як JDK6, так і JDK7, але всі мої налаштування JRE вказували на 1.6, як на пам’яті, так і на сторінці властивостей проекту в Eclipse. Жодна кількість Maven Update Project та / або освіжаючого не вирішила це.

Нарешті я спробував закрити проект і повторно його відкрити, і це, здавалося, виправило! HTH



3
  • Встановіть JDK 7.0.55 та встановіть Java для Eclipse для JDK 7.0.55.
  • Створіть проект за допомогою JDK 7.0.55, налаштувавши на конвеєрі JDK 7.0.55.
  • Встановіть компілятор в Eclipse для JDK 7.0.55 за допомогою меню Windows -> Налаштування -> Java -> Компілятор - виберіть 1.7.

3

Відповідь на проблему:

Виняток у потоці "main" java.lang.UnsupportedClassVersionError: edu / stevens / cs549 / dhts / main / LocalContext: Непідтримуваний major.minor версія 52.0

У мене була така ж проблема. Для тих, у кого виникли проблеми в екземплярах AWS ec2, і якимось чином перенаправились на це питання. Я відповідаю за це і хочу поділитися тим, як я це зробив. У мене виникли проблеми, оскільки екземпляри Amazon EC2 запускали версію java версії 1.7, і, можливо, мій проект був не сумісний з ним, оскільки я використовував Maven, і він був попередньо налаштований на java 1.8. Тому я встановив нову версію Java:

sudo yum -y install java-1.8.0

І тоді важливим кроком є ​​видалення старішої версії:

sudo yum remove java-1.7.0-openjdk

Не забудьте видалити її після встановлення нової версії, інакше вона буде постійно використовувати ту саму стару версію, і я сподіваюся, що вона вирішить вашу проблему, що і в моєму випадку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.