Я хотел бы предоставить диагностическую информацию о том, какая реализация JAXP используется, и из какого файла JAR она была загружена.
Один из способов добиться этого - создать, например, DocumentBuilderFactory
, а затем проверить свойства этого класса:
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());
}
Есть ли лучший способ достичь этого, возможно, без создания DocumentBuilderFactory
?