In diesem Fall würde man eine URLClassLoader
verwenden, um eine Klasse aus einem bestimmten jar in einem angegebenen Pfad zu laden?
Zum Beispieljava urlclassloader usage.Ist es nur in seltenen Fällen benötigt?
URL url = new URL("file:///path/to/customClasses.jar");
URLClassLoader pluginLoader = new URLClassLoader(new URL[] { url });
Class<?> cl = pluginLoader.loadClass("apackage.MyCustomClass");
Wenn ich wollte Klassen von customClasses.jar verwenden, dachte ich immer, dass accesible von CLASSPATH in einem Pfad dieses Gefäß platziert genug ist.
Dann in meinem Code einfach apackage.MyCustomClass
verwenden.
Ich denke, ich habe etwas missverstanden oder fehlt hier, also könnte jemand bitte erklären und ein Beispiel geben, wenn das obige Schnipsel der Ladeklasse auf diese Weise nützlich ist?
Danke!
Sagen Sie dynamisch erstellt oder geladen zu laden Code in der Lage sein wollte, nachdem das Programm gestartet. Sie können später auch eine andere Version dieses Glases laden. –
@Peter Lawrey: Es tut mir leid, aber ich verstehe nicht, was Sie meinen, wenn Sie sagen "Laden Code-Creator/dynamisch geladen" – Cratylus
@ user384706, sagen Sie haben eine dynamisch geladene Anwendung, die Common-Logging v1.0, später Sie benötigt Laden Sie eine Anwendung, die commons-logging v1.1 benötigt. Sie können die erste Bibliothek löschen oder beide mit benutzerdefinierten Ladeprogrammen laden. –