JDOM2: Este analisador não suporta a especificação “null” versão “null”

Quando você tem um projeto Maven que usa JDOM2 e cria um novo SaxBuilder com o novo SaxBuilder (), você verá um rastreamento de pilha como este:

java.lang.ExceptionInInitializerError
at org
.jdom2.input.SAXBuilder.<init>(SAXBuilder.java:338)
at org
.jdom2.input.SAXBuilder.<init>(SAXBuilder.java:221)
at your
.package.your.class.your.method(Class.java:XX)
Caused by: java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
at javax
.xml.parsers.SAXParserFactory.setSchema(SAXParserFactory.java:419)
...

Nesse caso, você está usando uma SAXParserFactory que não sobrescreve setSchema (…). Esta pode ser uma versão de org.apache.xerces.jaxp.SAXParserFactoryImpl anterior a 2.7.0.

Existem duas soluções para o problema.

Fix 1: use um SAXParserFactory diferente, definindo a propriedade do sistema javax.xml.parsers.SAXParserFactory . Por exemplo, a fábrica fornecida por seu JDK atual: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl. Isso pode ser feito iniciando o JVM com

-Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl

ou dentro do seu código

System.setProperty("javax.xml.parsers.SAXParserFactory", "com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl");

Fix 2: atualize a fábrica que você está usando. Em caso de atualização de fábrica do apache pelo menos para a versão 2.7.0.