Ich habe erfolglos versucht, eine Klasse aus einer JAR-Datei zu erhalten. Die .jar befindet sich unter C: \ CTF.jar und enthält eine .class-Datei CaptureTheFlagRules in einem Ordner namens CTF. Der folgende Code funktioniert nicht:ClassNotFound-Ausnahme beim Extrahieren einer Klasse aus einem Jar
try {
File jarFile = new File("C:\\CTF.jar");
URLClassLoader urlClassLoader = URLClassLoader.newInstance(new URL[]
{ jarFile.toURI().toURL() }, getClass.getClassLoader());
Class<?> unknownClass = Class.forName("CaptureTheFlagRules",
true, urlClassLoader);
....
} catch (MalformedURLException e) {
} catch (ClassNotFoundException e) {
}
Der Code Durchführung eine ClassNotFoundException am forName() -Aufruf. Was muss ich tun, um meine Klasse zu bekommen?
Warum fügen Sie es nicht einfach zu Ihrem Klassenpfad hinzu, damit Sie es normal verwenden können? –
Befindet sich die CaptureTheFlagRules-Klasse in einem Namespace? Wenn dies der Fall ist, müssen Sie den Namespace dem Aufruf Class.forName() hinzufügen. ex: Class.forName ("com.galecki.CaptureTheFlagRules") – AgileJon