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

  • 1881 Animation

    1881 Animati

    5 EKİM 2013
  • Krumme1996

    Krumme1996

    21 EYLÜL 2009
  • The White House

    The White Ho

    21 Ocak 2006