2016-04-08 18 views
3

Çok zevkle java 1.8 kullanıyorum.Ünlü "Çalışma alanında JRE'ler yüklü değil". Zarar verebilir mi?

Çalışma alanımdaki projelerimden birinin, java 1.6 ile derlenmesi ve uyumlu olması gerekiyor, bu yüzden uygun tutulma seçeneklerini değiştirdim.

Build path specifies execution environment JavaSE-1.6. There are no JREs 
installed in the workspace that are strictly compatible with this environment. 

bu sorunu çözmek için nasıl birçok soru ve cevaplar vardır:

Şimdi ben ünlü mesajı alıyorum. Yani sorun yok.

Ancak bu uyarı göz ardı edildiğinde ortaya çıkabilecek problemler teorik olarak nedir? (her şey güzel bir şekilde 1.6'da çalışıyor gibi görünüyor)

+1

Yalnızca Java 7 veya 8'de bulunan bir sınıf kullanırsanız, Eclipse bu hatayı algılamaz. Çalışma zamanı eksik bir sınıf hatası alırsınız. –

cevap

1

Potansiyel bir sorun, 1.6 hedefli kodunuzun yanlışlıkla JDK1.8'de tanıtılan bir sınıfı veya arabirimi kullanabilmesidir. Çalışma alanınızda 1.6 hedefle ilişkilendirilmiş JRE aslında bir JRE1.8 veya 1.7 ise, kod düzgün olarak derlenebilir, ancak çalışma zamanında NoClassDefFoundError gibi bir şeyle sonuçlanabilir.

+0

Gerçekten de, Eclipse'in yeni HashMap <>() gibi boş <> ​​gibi denediğinizde de hata verdiğini algılamasının anlaşılmasında idim. Ama bu noclassdeffounderror'ları almak, göz ardı edilmemesi gereken ciddi bir şey, eski bir java versiyonunu kurmanın vakti. –

+1

@TinusTate, derleyici düzeyinde yeni ** sözdizimi ** (Dil Özelliğinde) boş - <>, lambda ve kaynaklarla çalışmayı kontrol eder; Yeni kütüphane sınıflarını ve yöntemlerini kontrol etmez, çünkü belirli bir JRE, özellikteki minimumun üzerinde fonksiyonellik ekleyebilir. Büyük bir örnek için, 8 javafx önce JRE'de standart değildi, ancak onu ekleyebilir ve geçerli olarak kullanabilirsiniz. –

İlgili konular