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

  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • CHISTOSITOJAJA

    CHISTOSITOJA

    27 HAZİRAN 2010
  • TomOdellVEVO

    TomOdellVEVO

    29 Mayıs 2012