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
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.
Nasıl Objective-C ile çalışma zamanınd...
Nasıl iki JavaScript nesnelerin özelli...
Nasıl dinamik olarak değiştirmek angul...
Nasıl dinamik olarak bir web sayfası&#...
Nasıl dinamik olarak oluşturulan öğele...