⚖️
UYAP Teknik Destek Hukukçular İçin UYAP, Java ve UDF Çözüm Masası

Mac bilgisayarımda UYAP Editör'ü başlatmak için .sh scripti yazdım ancak JRE 8 ile çalıştırırken FontConfiguration hatası veriyor, Apple M1/M2 çipleri için native destek ne zaman gelir?

macOS Sonoma kurulu Apple Silicon (M1/M2) işlemcili MacBook cihazımda UYAP Doküman Editörü'nü (UDF) açmak için terminal üzerinden özel bir shell (.sh) betiği ile JRE 8 çağrısı yapıyorum. Ancak başlatma sırasında Java konsolunda 'FontConfiguration error / NullPointerException' hatası alıyor ve arayüz açılmadan çöküyor. Apple Silicon ARM64 mimarisine uygun native Java desteği ve font kütüphanesi uyumsuzluğu nasıl giderilebilir?
Durum: Çözüldü Kategori: Soru-Cevap

2 Cevap

✓

Apple Silicon (ARM64 / M1/M2/M3) mimarisine sahip macOS işletim sistemlerinde UYAP Doküman Editörü’nün (UDF Editör) çalıştırılması sırasında alınan FontConfiguration error ve NullPointerException hatası, macOS Sonoma/Ventura ile birlikte gelen sistem font yapısı değişikliklerinden ve eski Oracle JRE 8'in macOS font dizinlerini (özellikle /System/Library/Fonts altındaki TrueType font eşlemelerini) çözümleyememesinden kaynaklanır.

Adalet Bakanlığı UYAP Editörü Java Swing tabanlı eski kütüphaneler kullandığından, Apple Silicon için resmi olarak paketlenmiş tek tıkla çalışan native bir ARM64 DMG paketi henüz sunulmamıştır. Ancak bu hatayı terminal betiğinizde ve Java çalışma zamanınızda aşağıdaki yöntemlerle %100 çözebilirsiniz:

  1. Doğru JDK/JRE Sürümünü Kullanın (Azul Zulu ARM64): Oracle Java 8 x86_64 yerine, Apple Silicon native mimarisini destekleyen Azul Zulu OpenJDK 8 (ARM64 / macOS) veya en azından Java 11 uyumlu UYAP paketini kurun. Azul Zulu, Apple Silicon font kütüphanelerini (libfontmanager) native olarak derlemiştir.
  2. Font Konfigürasyon Parametresi Ekleyin: Hazırladığınız .sh başlatma scriptine font çözümleme hatasını atlatmak için şu JVM argümanlarını ekleyin:
    java -Dprism.lcdtext=false -Dprism.text=t2k -Dsun.java2d.font.preferLocaleFonts=true -jar ueditor.jar
  3. Rosetta 2 İle Çalıştırma Alternatifi: Eğer 32-bit/64-bit Akis e-imza kart kütüphanelerini (libakisp11.dylib) de bağlamanız gerekiyorsa, ARM64 Java ile x86_64 e-imza kütüphaneleri mimari uyuşmazlığı yaşayabilir. Bu durumda betiğinizi Rosetta 2 emülasyonu altında x86_64 JRE ile başlatmanız gerekir:
    arch -x86_64 /Library/Java/JavaVirtualMachines/jdk1.8.0_xxx.jdk/Contents/Home/bin/java -jar ueditor.jar
  4. Gerekli Font Paketinin Tanımlanması: macOS üzerinde eksik görülen temel fontların Java'ya tanıtılması için Homebrew üzerinden brew install --cask font-dejavu-sans kurabilir ve Java lib dizinine font path olarak ekleyebilirsiniz.

Bu düzenlemeleri yaptığınızda UYAP Editörü macOS Sonoma üzerinde FontConfiguration hatası vermeden ve yüksek performansla çalışacaktır.

Yanıtlayan
Yazılım Mimarı Tolga S.

Apple Silicon cihazlarda bu font çökmesi sorunu çok yaygın. Çözüm için Oracle JRE 8 yerine Azul Zulu JDK 8'in 'macOS ARM64' versiyonunu indirip kurmanız gerekiyor. Ayrıca UYAP resmi sitesindeki macOS kurulum paketinde yer alan font dosyalarını /Library/Fonts dizinine kopyalayıp terminal komutunuza -Dsun.java2d.opengl=false parametresini eklerseniz editör hatasız şekilde açılacaktır.

Yanıtlayan
Bilgisayar Müh. Deniz A.