SORU
13 EYLÜL 2008, CUMARTESİ


Nasıl dinamik olarak çalışma zamanında Kavanoz yük gerekir?

Neden Java ile bunu yapmak çok mu zor? Eğer modül sistemi her türlü sahip olmak istiyorsanız kavanoz dinamik olarak yüklemek için güçlü olmak gerekir. Ben söyledim, bir şekilde bu işleri yazılı kendi ClassLoader, ama bu çok çalışmak için bir şey lazım (aklımda en az) kolay arama yöntemi ile bir jar dosyası olarak argüman.

Bu basit kod için herhangi bir öneriniz var mı?

P. S.: bu kadar dandik kendi sorularınızı yanıtlamak için bkz: biliyorum, ama bir daha kimse son balon diye bunu yapmaya karar verdim.

CEVAP
13 EYLÜL 2008, CUMARTESİ


Zor olmasının nedeni ise güvenlik. Classloaders değişmez olması gerekiyordu; willy-nilly zamanında bu dersleri eklemek mümkün değil. Sistem classloader ile çalışan gerçekten çok şaşırdım. Kendi çocuğunuz classloader yapmak nasıl:

URLClassLoader child = new URLClassLoader (myJar.toURL(), this.getClass().getClassLoader());
Class classToLoad = Class.forName ("com.MyClass", true, child);
Method method = classToLoad.getDeclaredMethod ("myMethod");
Object instance = classToLoad.newInstance ();
Object result = method.invoke (instance);

Acı verici, ama öyle.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Avast

    Avast

    27 NİSAN 2006
  • o0oCyrusViruso0o

    o0oCyrusViru

    11 Mart 2008
  • Titan Lee Hai

    Titan Lee Ha

    14 Temmuz 2008