So überprüfen Sie, woher die Klasse geladen wurde

In diesem Beispiel wird gezeigt, wie der Pfad der geladenen Klasse überprüft wird. Dieses Dienstprogramm kann in bestimmten Fällen hilfreich sein, wenn Sie den Klassenladepfad überprüfen möchten, wenn Verwirrung darüber besteht, dass in einem anderen Pfad mehrere Bibliotheken vorhanden sind. Um dies zu erreichen, verwenden Sie im folgenden Beispiel die folgenden Schritte:

  • Rufen Sie die Klasse für die tatsächliche Klasse ab, deren Pfad überprüft werden soll
  • Rufen Sie den getProtectionDomain()-Nethod der Klasseninstanz auf, der die zurückgibt Schutzdomäne Objekt, das ursprünglich die Eigenschaften des Domian besitzt.
  • Rufen Sie dann die Methode getCodeSource() auf, die das CodeSource-Objekt zurückgibt
  • Rufen Sie dann die Methode getLocation() auf CodeSource Instanz, die den Pfad der geladenen Klasse zurückgibt.

Schauen wir uns das Beispiel an:

package javabeat.net.core;

import java.net.URL;
import java.security.CodeSource;
import java.security.ProtectionDomain;

public class JavaCoreExample {
	public static void main(String() args) {
		// get the runtime class of this Object
		Class<?> cls = new JavaCoreExample().getClass();
		ProtectionDomain pDomain = cls.getProtectionDomain();
		CodeSource cSource = pDomain.getCodeSource();
		// get the location associated with this CodeSource
		URL location = cSource.getLocation();
		System.out.println("Location: " + location);
	}
}

Ausgabe

Location: file:/home/krishna/workspace/Java%20Project/bin/

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen