---
title: "UnsupportedClassVersionError"
url: https://michalasobczak.pl/pl/posts/unsupportedclassversionerror.html
author: "Michał Sobczak"
description: "Zmiana poziomu języka Java, aby uruchamiać skompilowany kod na starszych środowiskach uruchomieniowych. Pracuję nad pewnym projektem w Javie. Używam IntelliJ IDEA i zdecydowałem się na OpenJDK-18 od Oracle. Ale… to środowisko jest domyślnie dostępne tylko podczas kompilacji w IDE. W systemie mam OpenJDK-11."
published: 2022-09-02T07:53:05.000Z
updated: 2022-09-06T10:42:41.000Z
language: pl
categories: ["Technology"]
tags: ["Programming"]
license: CC BY-NC-ND 4.0 (https://creativecommons.org/licenses/by-nc-nd/4.0/)
---
# UnsupportedClassVersionError

> Zmiana poziomu języka Java, aby uruchamiać skompilowany kod na starszych środowiskach uruchomieniowych

Pracuję nad pewnym projektem w Javie. Używam IntelliJ IDEA i zdecydowałem się na OpenJDK-18 od Oracle. Ale… to środowisko jest domyślnie dostępne tylko podczas kompilacji w IDE. W systemie mam OpenJDK-11. Próba uruchomienia kodu skompilowanego przez JDK-18 na JDK-11 daje mi następujący komunikat:

```text
java.lang.UnsupportedClassVersionError: Main has been compiled by a more recent version of the Java Runtime (class file version 62.0), this version of the Java Runtime only recognizes class file versions up to 55.
```

Aby sobie z tym poradzić, przejdź do ustawień modułu (lub Project Structure) i zmień Language Level na niższą wartość. Jeśli kompilujesz w wersji 18, będzie ustawiona wersja 18. Przełącz na wersję 11 (local variables syntax for lambda parameters) i skompiluj ponownie. Teraz będziesz mógł uruchomić aplikację nawet na starszym JDK.
