Menü
💬 Forum 🛒 Mağaza ⛏️ Sunucular ⚔️ Klanlar 📰 Blog 🏆 Liderlik 👥 Üyeler 🎖️ Rütbeler
0 üye online 👥 5 toplam üye 📝 Bugün 74 konu 💬 Bugün 74 mesaj

❓ Yardım Plugin Hata Mesajları: NoClassDefFoundError, ClassNotFoundException ve Bağımlılık Sorunları

orginscorel · 4 saat önce · 1 gönderi · 0 görüntülenme
#1

Plugin Hata Mesajları: NoClassDefFoundError ve Bağımlılık Sorunları



Yeni bir plugin yüklediğinizde sunucu başlamıyor veya plugin etkinleşmiyor ve konsolda karmaşık Java hata mesajları görüyorsunuz. Bu mesajlar ilk bakışta korkutucu olsa da genellikle çok basit ve hızlı çözülebilir sorunlara işaret eder. Bu rehberde en yaygın plugin yükleme hatalarını ve çözümlerini açıklıyorum.

NoClassDefFoundError




[ERROR] Could not load 'plugins/ShopGUI+.jar' in folder 'plugins'
java.lang.NoClassDefFoundError: com/earth2me/essentials/api/Economy
    at net.brcdev.shopgui.ShopGuiPlugin.onEnable(ShopGuiPlugin.java:89)


Bu hata "bir sınıf bulunamadı" demektir. Genellikle eksik bağımlılık (dependency) anlamına gelir. Hata mesajındaki sınıf adına bakın: com/earth2me/essentials → EssentialsX'e ait bir sınıf; EssentialsX kurulu değil veya yüklenmedi.

Çözüm:

  • Plugin sayfasında Dependencies bölümünü okuyun
  • Listelenen pluginleri kurun
  • Sunucuyu yeniden başlatın


ClassNotFoundException




java.lang.ClassNotFoundException: org.bukkit.craftbukkit.v1_20_R1.CraftServer


Bu hata genellikle plugin'in farklı bir Minecraft sürümü için yazıldığını gösterir. Bazı eski pluginler CraftBukkit iç sınıflarına (NMS - net.minecraft.server) doğrudan erişir ve bu sınıflar sürümden sürüme değişir.

Çözüm:

  • Plugin'in sunucu sürümünüzle uyumlu bir versiyonunu bulun
  • Plugin SpigotMC sayfasında "Supported Versions" kısmını kontrol edin
  • Plugin artık güncellenmiyorsa alternatif arayın


UnsatisfiedLinkError




java.lang.UnsatisfiedLinkError: /tmp/native-lib.so: wrong ELF class


Nadir görülen bu hata, plugin'in native (yerel) kütüphane içerdiğini ve bu kütüphanenin işletim sistemiyle uyumsuz olduğunu gösterir. Genellikle 32-bit/64-bit uyumsuzluğu veya Windows/Linux farkından kaynaklanır.

IllegalStateException: Plugin already initialized




java.lang.IllegalStateException: Already initialized


Aynı plugin'in iki farklı versiyonu aynı anda yüklü. Çözüm: eski versiyonu plugins klasöründen silin; yalnızca bir tane kalmalı.

Bağımlılık Yükleme Sırası



Plugin A, Plugin B'ye bağımlıysa B'nin önce yüklenmesi gerekir. Paper genellikle bağımlılık sırasına göre otomatik yükleme yapar. Ancak bazen:


[WARN] Plugin 'ShopGUI+' requires 'Vault' to be loaded before it but it cannot be found!


Bu durumda Vault yüklü değil veya plugin adı tam eşleşmiyor. Plugin sayfasında tam bağımlılık adlarını kontrol edin.

ProtocolLib Sürüm Uyumsuzluğu



Birçok plugin ProtocolLib'e bağımlıdır. ProtocolLib her MC sürümü için ayrıca güncellenir; eski sürümüyle yeni MC'de şu hata görülür:


[WARN] [ProtocolLib] Plugin 'TAB' requires a compatible version of ProtocolLib


Çözüm: ProtocolLib'i her zaman en güncel sürüme yükseltin. SpigotMC'deki "Dev Build" versiyonu en güncel MC desteğine sahiptir.

Genel Sorun Giderme Akışı




  • Hata mesajını tam olarak kopyalayın
  • "NoClassDefFoundError" ise eksik dependency'yi bulun
  • "ClassNotFoundException" ise sürüm uyumsuzluğunu kontrol edin
  • Plugin'i tek başına test edin (diğer pluginleri geçici kaldırın)
  • Plugin'in GitHub veya SpigotMC Issues sayfasını kontrol edin; aynı hata rapor edilmiş olabilir


Sonuç



Plugin yükleme hataları genellikle eksik bağımlılık veya sürüm uyumsuzluğu kaynaklıdır. Hata mesajının ilk satırına odaklanın; Java class adı çoğunlukla hangi plugin veya kütüphanenin eksik olduğunu söyler. Sistematik bir şekilde ilerlerseniz bu hataları kolayca aşabilirsiniz.

Cevap yazabilmek için giriş yap.