Ich weiß, dass wir Klassen dynamisch laden können, indem Sie benutzerdefinierte Klassenladeprogramme verwenden. Aber hier mein Problem ist meine Klasse selbst hängt von anderen Klassen istKlassen dynamisch aus jar laden
ist Meine Aufgabe PigServer Objekt zu erhalten .So ich folgenden Code verwendet haben PigServer Klasse
_pigServerClass = _classLoader.loadClass("org.apache.pig.PigServer");
Aber hier PigServer Klasse selbst abhängt, ist zu laden auf so viele andere Klassen. So
wenn ich versuche Instanz PigServer Klasse zu erhalten, dann ist es zeigt folgende Fehler
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
java.lang.ClassNotFoundException:org.apache.log4j.AppenderSkeleton
etc..
Kann mir jemand sagen, wie dieses Problem zu lösen?
Ich habe erstellt Class Loader ..its nehmen Classpath und kehrt ** _ customClassLoader = new URLClassLoader (URLs, PigClassLoader.class.getClassLoader()); ** –
, dass zu meiner Klasse Loader funktioniert gut. Thats y es zeigte nicht Klasse nicht gefundene Ausnahme für PigServer Klasse –
Sind Sie sicher, dass commons-logging und log4j im Klassenpfad sind? – Mirko