Wie finde ich heraus, welche JAXP-Implementierung verwendet wird und woher sie geladen wurde?

Möchte ich Diagnose-Informationen über das, was JAXP-Implementierung verwendet wird, und die JAR-Datei geladen wurde.

Ein Weg dies zu erreichen ist, erstellen Sie eine Instanz von, zum Beispiel, eine DocumentBuilderFactoryund überprüfen Sie dann die Eigenschaften der Klasse:

private static String GetJaxpImplementation() {
    DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
    Class<? extends DocumentBuilderFactory> c = documentBuilderFactory.getClass();
    Package p = c.getPackage();
    CodeSource source = c.getProtectionDomain().getCodeSource();
    return MessageFormat.format(
            "Using JAXP implementation ''{0}'' ({1}) version {2} ({3}){4}",
            p.getName(),
            p.getImplementationVendor(),
            p.getSpecificationVersion(),
            p.getImplementationVersion(),
            source == null ? "." : " loaded from: " + source.getLocation());
}

Gibt es einen besseren Weg, um dies zu erreichen, vielleicht auch ohne das erstellen einer DocumentBuilderFactory?

InformationsquelleAutor der Frage Daniel Fortunov | 2009-11-25

Schreibe einen Kommentar