Bir java sınıfının bir java 6 vm'de kullanılmak üzere derlenmiş olup olmadığını öğrenmek için nasıl yapabilirim?Bir sınıf java6 için derlenmiş olup olmadığını anlamanın bir yolu var mı?
Kolay bir yolu var mı?
Bir java sınıfının bir java 6 vm'de kullanılmak üzere derlenmiş olup olmadığını öğrenmek için nasıl yapabilirim?Bir sınıf java6 için derlenmiş olup olmadığını anlamanın bir yolu var mı?
Kolay bir yolu var mı?
class file format specification içinde. WP article on the subject, geçerli sürüm numarası sabitleri kümesini içerir. unix bir java decompiler
, b @matt
$ javap -classpath <classpath> -verbose foo.Bar \
| grep -q 'major version: 50' && echo yep || echo nope
sayesinde.
... iyi gitmiyor, en azından jd-gui ile değil. Bu, bir sınıf dosyasının meta verileriyle ilgili bir görünüm sunmuyor. (gerçek V0.3.2 ile hızlı bir şekilde test edilmiştir). Yani bu yöntemle, Java 1.6'ya kadar mevcut olmayan sınıfların/yöntemlerin kullanımını aramanız gerekir. –
Inexact Andreas_D, derleyicinin sürümü JD-GUI: tarafından görüntülenen bir sınıf dosyasını sürükleyip bırakın ve fareyi sekmenin üzerine getirin. –
Komut gibi bir şey için ya da sadece bir dosyanın başlığına bakarak ya da bunun gibi bir şey arıyordum. Ama cevabınız şu ana kadar aradığım şeye en yakın olanı. – feniix
' javap -verbose -classpath ... com.company.YourClassName' sizin için –
sürüm numaralarını yazdıracaktır, çünkü matb bunu gerçek bir cevap vermedi ve kimse sihirli numarasını vermedi (50), ekledim Benim bir cevabım, ve evet/hayır cevabını almayı biraz daha kolaylaştırdı. –