Sınıf, Java Ortamının daha yeni bir sürümü tarafından derlenmiştir


93

Selenyum komut dosyasını çalıştırırken Eclipse konsolunda aşağıdaki hata mesajını alıyorum:

Sınıf, Java Ortamının daha yeni bir sürümü (sınıf dosyası sürümü 53.0) tarafından derlenmiştir, Java Runtime'ın bu sürümü yalnızca 52.0'a kadar olan sınıf dosya sürümlerini tanır.


  • Java Sürümü: 8
  • IDE: Eclipse Oxygen
  • Firefox Sürümü: 46

6
sınıf dosyası sürüm 53 = Java 9. Java 8 JVM'niz Java 9 kodunu çalıştıramıyor.
howlger

Yanıtlar:


128

Bu sadece bir sürüm uyuşmazlığıdır. Kodunuzu java 9 sürümünü kullanarak derlediniz ve mevcut JRE'niz sürüm 8'dir. JRE'nizi 9'a yükseltmeyi deneyin.

49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14

24
Mantıksal seçim konusunda tavsiye vermek hiç de iyi bir çözüm olmayabilir ... Ya proje ilk etapta jre-8 ile çalıştırılırsa ve birisi yanlışlıkla 9'a karşı bazı modül derlerse?
Eugene

Geriye dönük uyumluluk sorunları olmayacağından, yükseltmenin yine de herhangi bir soruna neden olmayacağına inanıyorum. Ve derleyicinin en son sürüme yükseltildiğine inandığım için mantıklıydı.
Nithin

10
küçük, korumalı alan projesi açısından düşünüyorsunuz; kurumsal projeler için - bu asla kolay bir değişim değildir. Örneğin, 7'de yan etkilerine güvendiğiniz jenerikler için 8'de bazı hatalar düzeltildi; veya HashMapsıra 7'den 8'e değişti ... vb. Bununla karşılaştım. Basitçe söylemek gerekirse - 9'a geçmek iyi bir seçenektir, ancak asla basit ve hızlı bir seçenek değildir
Eugene

kurumsal proje seviyeleri açısından ifade ediyorsanız, evet haklısınız ve bu noktaya kesinlikle katılıyorum. Yükseltme / düşürme, bu tür senaryolarda asla en uygun seçenek değildir.
Nithin

@nithinpankaj Esasen, Java 9'u her kullanmayı denediğimde, bazı yeni hatalar atıldı. Yükseltmek için hiçbir nedenim olmadan denemeyi bıraktım ve Java 9 hakkında oldukça kötü bir fikrim var.
Erhannis

41

IDE: Eclipse Oksijen.3

Sorunu geçici olarak düzeltmek için aşağıdakileri yapın:

Project menu> Properties> Java Compiler> Compiler compliance level>1.8

Kalıcı bir düzeltme muhtemelen JDK 9'u yüklemeyi içerir.

FYI 1.8, Java 8'in adıdır.

Yan çubuk

Kısa bir süre önce C # 'a (biraz temiz hava) girdikten sonra Java'ya döndüm ve Eclipse Oksijen'i daha önce Java'nın hiç yüklenmemiş olduğu temiz bir sisteme kurdum. Bu varsayılan , yepyeni bir Eclipse Oxygen yüklemesine sahip her şey , ancak bir şekilde veya başka bir Eclipse, kurulu olan jdk ile eşleşecek kendi parametrelerini alamaz. Bu yarattığım ikinci proje ve ikinci kez bu baş ağrısıyla karşılaştım. C # 'a geri dönme zamanı mı?

İlgili Soru

Java Runtime'ın daha yeni bir sürümü tarafından derlenmiştir (sınıf dosyası sürümü 53.0)


ilginç. Öyleyse bu, bayt kodunun ileriye dönük uyumlu OLMADIĞI anlamına mı geliyor?
'30


6

53java-9 anlamına gelir, yani hangi sınıfla derlenmiş javac-9olursanız olun ve onu çalıştırmayı denersiniz jre-8. Bu sınıfı javac-8jre-9 ile yeniden derleyin veya kullanın


2

Bunu yazıyorum çünkü diğer cevapları anlamakta zorlandım.

Esasen JRE'niz güncellenmemiş ve / veya Eclipse en son JRE'yi kullanacak şekilde yapılandırılmamış.

Windows'ta, Denetim Masası -> Programlar -> Java -> güncelleme'ye gidin ve java'yı güncellemeye devam edin

veya Java'nız yoksa, Oracle'ın web sitesine gidin ve en son JRE'yi indirin.

Bu yapıldıktan sonra, tutulmaya gidin ve proje görünümü altında, projenize sağ tıklayın, Java Oluşturma Yolu'nu seçin, JRE Sistem Kitaplığı'na çift tıklayın, ardından Çalışma Alanı Varsayılanı JRE 14.1'i Seçin.

Java'nın yeni bir sürümü burada görünmüyorsa, muhtemelen yüklenmemiştir. JRE (JDK DEĞİL) sürümünüzü kontrol edin ve yeni sürüm olduğundan emin olun. Eğer öyleyse, bilgisayarı yeniden başlatmayı ve ardından tekrar denemeyi deneyin.


0

Proje bölümüne gidin, özelliklere tıklayın> ardından Java derleyicisine> derleyici uyum düzeyinin 1.8 olup olmadığını kontrol edin veya altta sarı uyarı olmamalıdır


0

Yenilenen gradle bağımlılıkları benim için çalışıyor: Projeye sağ tıklayın -> Gradle -> Gradle Projesini Yenile.


0

Intellij'de bir Jar oluşturduktan sonra konsoldan benzer bir sorun yaşadım. Daha yeni bir sürüme güncellemek için Java yapılandırmasını kullanmak (Windows -> Java'yı Yapılandır -> Güncelle -> Şimdi Güncelle) çalışmadı ve sürüm 1.8'de (Java 8) takılı kaldı.

Yerel olarak daha yeni bir sürüme geçmek için Java 15 JDK'yı https://www.oracle.com/uk/java/technologies/javase-jdk15-downloads.html adresinden yüklemem ve bunu Java çalıştırma ortamı ayarlarıma eklemem gerekiyordu.

Java Runtime Environment Ayarları


-1

Geçici çözüm için sadece sağ tıklayın Project => Properties => Java compiler => oradaki lütfen derleyici uyum seviyesini seçin 1.8 => .class uyumluluğu 1.8 => kaynak uyumluluğu 1.8 .

Ardından, kodunuz 1.8 sürümünde çalışmaya başlayacaktır .

Teşekkürler ve Saygılarımızla, Akshay kenjale.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.