Bir kod düzenleyicisi yapıyorum ve otomatik tamamlama üzerinde çalışıyorum. Programlı olarak JDK ile gelen tüm sınıfların bir listesini almak istiyorum.Tüm JDK sınıfları boyunca yineleme
Örnekler: Belirli bir paket için sınıfları almak için yollar bulduk
java.io.File
java.util.ArrayList
javax.swing.Action
. Örneğin, com.mypackage.foo
ile başlayan tüm sınıfları alabilirim. Sorun şu ki, Bootstrap ClassLoader
ile yüklenen sınıfları almaya çalışıyorum. Ve OSX JDK'da, bu sınıf yükleyici null
olarak görünür. Örneğin, String.class.getClassLoader()
yaparsam, bu null
.
Herhangi bir fikrin var mı?
Bu [SO soru] (http://stackoverflow.com/questions/2681459/how-can-i-list-all-classes-loaded-in-a -Özel sınıf yükleyici) yardımcı olabilir. –
Evet, saatlerce lol diye arama yaptığımda bunu gördüm. Enstrümantasyon yapmak istemiyorum, çünkü bu hacky ve JVM args verilmesi gerekiyor. Alt "hackerish" çözümü sadece önceden yüklenmiş olan sınıfları verir. Bu yüzden koştuğumda sadece 2 sınıf, binlerce değil. – satnam