tür bilgiler muhtemelen değil Var, ve üretmek için çok can sıkıcıdır. Kaynak derlendikten sonra, derleyiciye kaynak sözdiziminin nasıl yorumlanacağını söylemek için
"sourceCompatibility" mevcut değil. İlgilendiğiniz şey, "targetCompatibility" veya sınıf dosya formatı ana sürümdür: Java 8, 52, Java 7, 51'dir.
Java'ya Java 8'in anlaması gerektiğini bildirir. ... sınıf formatı ve baytkodlarına sınıfında bulunan, bu nedenle hariç indir olabilir ve projenize her bağımlılık açmak ve onların tüm bağımlılıklarını ve sonra her sınıf dosyasının sürüm numarası bakmak
Sadece sınıf dosya formatı versiyonuna bakmak, sınıfın sadece JDK'nın belirli sürümlerinde mevcut olan metotlara ve alanlara referans verip vermediğini söylemez. Java 8 ile test edilmedim, ancak Java 7'de kaynak/hedef uyumluluğunu 1.6'ya ayarlamak ve yine de Java 7'de eklenen yeni yöntemlere başvurmak mümkün. Java 6 JVM dosyayı yükleyip çalıştıracak, ancak Aksi halde mükemmel görünmesine rağmen NoSuchMethodException
. Bir bağımlılık o her sınıfın sürekli havuza geçmesi her sınıf ve yöntem başvuru bulmaktır için derlendi olandan Java farklı bir versiyonu ile tamamen uyumlu olup olmadığını
tek yolu gerçekçi, kontrol etmek ve daha sonra istenen JRE için geçerli olduklarını doğrulayın.
Bunun için otomatik bir araç isteyeceksiniz (JVM, Java sürümünün istediğiniz sürümüne sahipseniz ve birim testlerinizde% 100 kapsama sahipseniz bunu yapabilir ...), ancak bağımsız bir araç bilmiyorum Bu ne yapar ne de proje belgesi genellikle bu tür bilgileri içerir.