9 Nisan 2018 Pazartesi

URLClassLoader Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.net.URLClassLoader;
Bu sınıf ClassLoader arayüzünü gerçekleştirir.

constructor - jar için URL []
Örnek
Şöyle yaparız. Kullanılan URL file://... ile başlar.
URLClassLoader cl = new URLClassLoader(new URL[]{new URL("file:///C:/foo.jar")});
Örnek
URL'ye elle file:// + ... şeklinde string birleştirme işlemi yapmamak için File sınıfını kullanarak şöyle yaparız.
File path = new File("foo.jar");
URL[] urls = new URL[] { path.toURI().toURL() };
URLClassLoader cl = new URLClassLoader(urls);
constructor - jar için URL [] + ClassLoader
Şöyle yaparız.
ClassLoader cl = new URLClassLoader(new URL[]{new File("Example.jar").toURL()},
  Main.class.getClassLoader());
constructor - .class için URL []
Elimizde C:/Download/Foo.class dosyası olsun.Şöyle yaparız.
URLClassLoader loader = new URLClassLoader(new URL[] {
            new URL("file://C:/Downloads")
});
Class c = loader.loadClass("Foo");
getURLS metodu
Şöyle yaparız.
URL[] ressources = classLoader).getURLs();
loadClass metodu - fullname
Şöyle yaparız.
Class c = cl.loadClass("com.mycompany.Foo");

Javassist Kütüphanesi
URLClassLoader'ı kullanabilmek için sınfın "fully qualified name" özelliğini bilmek gerekir. Javassit kütüphanesi ile bu özelliği bilmeye gerek kalmadan şöyle yaparız.
ClassPool cp = ClassPool.getDefault();
InputStream ins = an input stream for reading a class file;
CtClass cc = cp.makeClass(ins);
Daha sonra şöyle yaparız.
Class clazz = cc.toClass();




Hiç yorum yok:

Yorum Gönder