Ekran Kartlı Sunucu Satışları Başladı. İncele
Minecraft Hata Çözümleri

Minecraft Java Sürüm Hatası (UnsupportedClassVersionError)

“has been compiled by a more recent version of the Java Runtime” hatası: class file version karşılıkları, doğru JDK kurulumu ve çoklu Java yönetimi.

  • 6 dk okuma
  • Güncelleme:
  • Yayın:
  • Batihost Teknik Ekibi

Kısaca Özet

  • UnsupportedClassVersionError hatası, sunucu jar’ının sizin Java sürümünüzden daha yeni bir Java ile derlendiğini söyler. Çözüm doğru JDK’yı kurmaktır.
  • Sürüm eşleşmesi: 26.1 ve sonrası Java 25, 1.20.5–1.21.11 Java 21, 1.17–1.20.4 Java 17, 1.16.5 ve öncesi Java 8.
  • Hata mesajındaki class file version numarası kaç Java sürümü gerektiğini doğrudan söyler: 69.0 = Java 25, 65.0 = Java 21, 61.0 = Java 17.
  • Java 26 çıktı ama LTS değil. Sunucu için daima Java 25 LTS kullanın; dağıtım olarak Eclipse Temurin önerilir.

Minecraft sunucusunda UnsupportedClassVersionError hatası, çalıştırdığınız Java sürümünün sunucu jar’ı için yetersiz olduğunu söyler. Jar dosyası daha yeni bir Java ile derlenmiştir ve eski bir çalışma zamanı onu okuyamaz. Hata mesajının içinde hem jar’ın gerektirdiği sürüm hem sizin kullandığınız sürüm sayısal olarak yazar; bu iki numarayı okumak çözümü tek adıma indirir.

11 Ağustos 2026 itibarıyla güncel kararlı sürüm Minecraft 26.2 “Chaos Cubed” ve Java 25 gerektiriyor. Eski sürümlerde sunucu işletenler için tam eşleşme tablosunu, class file version karşılıklarını ve aynı makinede birden fazla Java sürümünü yönetme yöntemlerini aşağıda bulacaksınız.

Hatanın Birebir Metni#

Error: LinkageError occurred while loading main class net.minecraft.bundler.Main
	java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled
	by a more recent version of the Java Runtime (class file version 69.0),
	this version of the Java Runtime only recognizes class file versions up to 65.0

Exception in thread "main" java.lang.UnsupportedClassVersionError:
	io/papermc/paperclip/Paperclip has been compiled by a more recent version of the Java Runtime

Eklenti tarafında da aynı hata görülebilir; bu durumda sunucu açılır ama eklenti yüklenmez:

[15:12:44] [Server thread/ERROR]: Could not load 'plugins/OrnekEklenti.jar' in folder 'plugins'
java.lang.UnsupportedClassVersionError: com/ornek/eklenti/Main has been compiled by
	a more recent version of the Java Runtime (class file version 69.0)
BilgiMesajdaki iki sayı her şeyi anlatır. İlk numara jar’ın derlendiği sürüm, “only recognizes up to” sonrasındaki numara sizin çalıştırdığınız sürümdür. İkincisi küçükse Java’yı yükseltmeniz gerekir.

Class File Version Karşılık Tablosu#

class file versionJava sürümüHangi Minecraft içinDurum
70.0Java 26LTS değil, önerilmez
69.0Java 2526.1 ve sonrası (26.2 dahil)Önerilen LTS
65.0Java 211.20.5 – 1.21.11Eski hat LTS
61.0Java 171.17 – 1.20.4Eski hat LTS
60.0Java 161.17 (Java 17 de çalışır)Geçiş sürümü
52.0Java 81.16.5 ve öncesi (1.12.2, 1.8.9)Eskimiş ama gerekli
Class file version numaraları ve Java karşılıkları

Minecraft – Java Eşleşme Tablosu#

Minecraft sürümüGerekli JavaProtokolNot
26.2 “Chaos Cubed”Java 25776Güncel kararlı sürüm
26.1 / 26.1.1 / 26.1.2Java 25775Unobfuscation ile geldi
1.20.5 – 1.21.11Java 21Sürüme özel26.x jar’ı bu Java ile çalışmaz
1.17 – 1.20.4Java 17Sürüme özel1.17 teknik olarak Java 16 ister
1.16.5 ve öncesiJava 8Sürüme özel1.12.2 modpackleri, 1.8.9 PvP
Minecraft sürümlerine göre Java gereksinimi
DikkatJava 26 yayınlandı ancak LTS değildir. Sunucu için daima Java 25 LTS kullanın. Ayrıca Oracle JDK yerine Eclipse Temurin, Amazon Corretto veya Azul Zulu tercih edin; Oracle dağıtımı kullanım için ayrıca lisans onayı ister.

Adım Adım Çözüm#

  1. Mevcut Java sürümünüzü görün#

    java -version
    which java
    readlink -f $(which java)
    java -version
    where.exe java
    $env:JAVA_HOME

    Çıktıda “openjdk version 21…” görüyor ve 26.2 sunucusu çalıştırıyorsanız hatanın nedeni bulunmuştur.

  2. Doğru JDK’yı indirin#

    İndirmeniz gerekenler
    • Eclipse Temurin JDK 25MC 26.x için Windows / Linux.msi / .tar.gzÜcretsiz
      İndir
    • Eclipse Temurin JDK 21MC 1.20.5–1.21.11 Windows / Linux.msi / .tar.gz
      İndir
    • Eclipse Temurin JDK 17MC 1.17–1.20.4 Windows / Linux.msi / .tar.gz
      İndir
    • Eclipse Temurin JDK 8MC 1.16.5 ve öncesi Windows / Linux.msi / .tar.gz
      İndir

    Bağlantılar resmî kaynaklara gider. Alternatif dağıtımlar: Amazon Corretto 25 ve Azul Zulu.

  3. Kurulumu doğrulayın#

    java -version
    # openjdk version "25.0.4" 2026-07-15 LTS
    # OpenJDK Runtime Environment Temurin-25.0.4+7

    Sürüm hâlâ eski görünüyorsa PATH değişkeni eski kuruluma işaret ediyordur. Bir sonraki adıma geçin.

  4. Varsayılan Java sürümünü değiştirin#

    Linux tarafında birden fazla kurulu sürüm arasında geçiş:

    sudo update-alternatives --config java
    update-alternatives --list java
    # /usr/lib/jvm/temurin-25-jdk-amd64/bin/java
    # /usr/lib/jvm/temurin-21-jdk-amd64/bin/java

    Windows tarafında JAVA_HOME ve PATH ayarları “Gelişmiş Sistem Ayarları” → “Ortam Değişkenleri” üzerinden yapılır. Ayrıntılı anlatım Windows Java kurulumu sayfasında, Linux tarafı Linux Java kurulumu sayfasında var.

  5. Betikte Java’nın tam yolunu yazın#

    Sistem varsayılanına güvenmek yerine betikte hangi Java’yı kullandığınızı açıkça belirtmek en güvenilir yöntemdir. Böylece aynı makinede farklı sürümlerde birden fazla sunucu çalıştırabilirsiniz.

    #!/bin/bash
    cd "$(dirname "$0")" || exit 1
    JAVA=/usr/lib/jvm/temurin-25-jdk-amd64/bin/java
    "$JAVA" -Xms14G -Xmx14G \
     -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 \
     -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
     -jar paper.jar nogui
    @echo off
    cd /d "%~dp0"
    set JAVA="C:\Program Files\Eclipse Adoptium\jdk-25.0.4.7-hotspot\bin\java.exe"
    %JAVA% -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled ^
     -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions ^
     -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -jar paper.jar nogui
    pause

Aynı Makinede Birden Fazla Java Sürümü#

Bir 1.12.2 modpack sunucusu ile bir 26.2 sunucusunu aynı makinede çalıştırmak yaygın bir senaryodur. Bu durumda sistem varsayılanını değiştirmek yerine her sunucunun kendi Java yolunu tanımlaması gerekir.

ls /usr/lib/jvm/
# temurin-8-jdk-amd64  temurin-17-jdk-amd64  temurin-21-jdk-amd64  temurin-25-jdk-amd64

# 1.12.2 sunucusu
/usr/lib/jvm/temurin-8-jdk-amd64/bin/java -Xms14G -Xmx14G -jar forge-1.12.2.jar nogui

# 26.2 sunucusu
/usr/lib/jvm/temurin-25-jdk-amd64/bin/java -Xms14G -Xmx14G -jar paper.jar nogui

systemd servisi kullanıyorsanız ExecStart satırına tam yolu yazın:

[Service]
User=minecraft
WorkingDirectory=/opt/minecraft-26
ExecStart=/usr/lib/jvm/temurin-25-jdk-amd64/bin/java -Xms14G -Xmx14G -jar paper.jar nogui
Restart=on-failure

Servis oluşturma ayrıntıları systemd servisi sayfasında yer alıyor.

Eklenti Kaynaklı Sürüm Hataları#

Sunucu açılıyor ama tek bir eklenti yüklenmiyorsa hata o eklentinin derlendiği Java sürümündendir. İki olasılık vardır:

Eklenti daha yeni Java istiyor#

Sunucu Java 21 ile çalışıyor, eklenti Java 25 ile derlenmiş. Çözüm sunucuyu Java 25’e taşımaktır; zaten 26.x kullanıyorsanız bunu yapmış olmanız gerekir.

Eklenti çok eski#

Java 8 ile derlenmiş eski bir eklenti yeni Java’da genelde çalışır; sorun Java değil API uyumluluğudur. 26.1 unobfuscation nedeniyle NMS kullanan eklentiler yeniden derlenmeden çalışmaz.

26.x’e geçerken eklentilerin uyumluluğunu kontrol etme yöntemi sürüm uyuşmazlığı sayfasında, eklenti kurulumu plugin kurulum rehberinde anlatıldı.

Java Sürümünü Değiştirdikten Sonra#

Yeni Java sürümüne geçtiğinizde JVM bayraklarınızı da gözden geçirin. Bazı eski bayraklar yeni sürümlerde kaldırılmış olabilir ve sunucu açılmayı reddeder.

# Java 25'te obsolete veya kaldırılmış bayraklara örnek
-XX:+ZGenerational          # JEP 490 ile obsolete, kullanmayın
-XX:+UseConcMarkSweepGC     # kaldırıldı
-XX:+UseParNewGC            # kaldırıldı
DikkatJava 25’te G1 hâlâ JVM’in genel varsayılan çöp toplayıcısıdır. 26.1 ile duyurulan “G1GC yerine ZGC” değişikliği istemci tarafına aittir ve Minecraft Launcher’ın JVM varsayılanını ilgilendirir; sunucunuzun GC’sini tamamen sizin verdiğiniz bayraklar belirler. Aikar’s Flags 26.x sunucularında hâlâ geçerlidir.

Bayrak seçimi ve heap boyutlandırma için RAM ayarları ve JVM flag rehberine bakın. Hangi Java sürümünü seçeceğinize dair genel karşılaştırma hangi Java sürümü gerekir sayfasındadır.

Doğrulama Kontrol Listesi#

1. Hata numarası
Mesajdaki class file version numarasını tabloyla eşleştirin.
2. Kurulu sürüm
java -version çıktısı hedef sürümü gösteriyor mu?
3. Doğru yol
Betikte Java’nın tam yolu yazılı mı, yoksa sistem varsayılanına mı güveniliyor?
4. Servis dosyası
systemd veya Windows servisi eski Java’yı çağırıyor olabilir.
5. Bayraklar
Yeni sürümde kaldırılmış bir bayrak kullanıyor musunuz?

İlgili Hata Sayfaları#

Özetle#

UnsupportedClassVersionError hatası, jar dosyasının sizin Java sürümünüzden daha yeni bir sürümle derlendiğini söyler ve çözümü tek adımlıdır: mesajdaki class file version numarasını tabloyla eşleştirip doğru JDK’yı kurun. Minecraft 26.1 ve sonrası Java 25, 1.20.5–1.21.11 Java 21, 1.17–1.20.4 Java 17, 1.16.5 ve öncesi Java 8 ister. Java 26 LTS olmadığı için sunucularda kullanılmamalıdır. Aynı makinede farklı sürümler barındırıyorsanız sistem varsayılanına güvenmeyin; başlatma betiğinde ve servis dosyasında Java’nın tam yolunu yazın.

Sıkça Sorulan Sorular#

UnsupportedClassVersionError nedir?

Java, çalıştırmaya çalıştığınız sınıf dosyasının kendi desteklediğinden daha yeni bir sürümle derlendiğini tespit etti demektir. Minecraft sunucusunda bu, jar’ın gerektirdiği Java sürümünün kurulu olmadığı anlamına gelir. Hata mesajındaki class file version numarası hangi sürüme ihtiyaç duyulduğunu tam olarak söyler.

Minecraft 26.2 için hangi Java gerekir?

Java 25 gerekir. 26.1 sürümüyle birlikte Mojang minimum Java sürümünü 25’e çıkardı ve 26.2 de aynı gereksinimi taşır. Java 21 ile 26.x sunucu jar’ını çalıştırmaya kalkarsanız UnsupportedClassVersionError alırsınız. Eclipse Temurin JDK 25 önerilen dağıtımdır.

class file version 69.0 hangi Java sürümü?

69.0 Java 25’e karşılık gelir. Numaralandırma Java 5’ten itibaren düzenli ilerler: 52.0 Java 8, 61.0 Java 17, 65.0 Java 21, 69.0 Java 25, 70.0 Java 26. Hata mesajı hem jar’ın derlendiği sürümü hem sizin çalıştırdığınız sürümü yazar; ikisini karşılaştırıp eksik olanı kurun.

Java 26 kurabilir miyim?

Kurabilirsiniz ama sunucu için önerilmez. Java 26 uzun destekli (LTS) bir sürüm değildir; güncelleme desteği kısa sürelidir ve eklenti ekosistemi bu sürümde test edilmemiştir. Minecraft 26.x sunucuları için doğru tercih Java 25 LTS’tir. Java 25 hem gereksinimi karşılar hem uzun vadede desteklenir.

Birden fazla Java sürümü aynı makinede olabilir mi?

Olabilir ve eski sürümlerde sunucu çalıştıranlar için gereklidir. Linux’ta update-alternatives ile varsayılan sürüm seçilir, betiklerde ise Java’nın tam yolu yazılarak istenen sürüm zorlanır. Windows’ta da başlatma betiğinde java.exe tam yolunu vermek en güvenilir yöntemdir.

Hangi Java dağıtımını seçmeliyim?

Eclipse Temurin birinci tercihtir; ücretsiz, açık kaynak ve lisans onayı gerektirmez. Amazon Corretto ve Azul Zulu da uygundur. Oracle JDK önerilmez çünkü kullanım için lisans koşullarını kabul etmeniz gerekir. Üçünün de Java 25 LTS yapıları mevcuttur.

JRE mi JDK mi kurmalıyım?

Sunucu çalıştırmak için JRE yeterlidir, ancak JDK kurmak daha pratiktir. JDK içinde jcmd, jstack ve jmap gibi teşhis araçları bulunur; bellek sızıntısı veya kilitlenme incelerken bunlara ihtiyaç duyarsınız. Modern dağıtımların çoğu zaten yalnızca JDK sunuyor.

Minecraft Hata Çözümleri — Tüm Rehberler#

  1. Minecraft Sunucu Hataları ve Çözümleri
  2. Minecraft “Internal Exception” Hatası Çözümü
  3. Minecraft “Connection Refused” Hatası ve Çözümü
  4. Minecraft “Connection Timed Out” Hatası Çözümü
  5. “Outdated Server” ve “Outdated Client” Hatası Çözümü
  6. Minecraft io.netty Hataları ve Çözüm Yolları
  7. Minecraft “Failed to Bind to Port” Hatası Çözümü
  8. Minecraft “Out of Memory” (OutOfMemoryError) Hatası Çözümü
  9. Minecraft “Can’t keep up! Is the server overloaded?” Uyarısı
  10. “Unable to access jarfile server.jar” Hatası Çözümü
  11. Minecraft EULA Hatası: “You need to agree to the EULA”
  12. Minecraft “Invalid Session” Hatası Çözümü
  13. Minecraft Java Sürüm Hatası (UnsupportedClassVersionError)
  14. Minecraft Crash Report Nasıl Okunur?

Bu rehber Batihost teknik ekibi tarafından hazırlanmış ve tarihinde güncellenmiştir. Eksik veya hatalı bulduğunuz bir bilgi varsa bize bildirin.

Başa dön