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

  • Bobbylee Budde

    Bobbylee Bud

    13 ŞUBAT 2011
  • boburnham

    boburnham

    11 Temmuz 2006
  • Monica Catral

    Monica Catra

    12 NİSAN 2009