Não usar classes internas JAXP com.sun.org.apache

Os pacotes JAXP com.sun.org.apache não estão disponíveis no IBM Java 6 Runtime Environment. Não usar classes a partir destes pacotes:

Observe que o IBM Java 7 incluiu algumas dessas APIs internas de volta para a JRE para facilitar os problemas de migração. Isso ainda é considerado melhores práticas para alterar seu código para não usar essas APIs internas.

Esta regra sinaliza o uso desses pacotes uma vez por projeto. Avalie o seu aplicativo para determinar a extensão até a qual o seu aplicativo usa as classes a partir desses pacotes internos do JAXP 1.3.

Se você desejar continuar usando as classes internas e implementação JAXP mais antigas, será possível fazer download dos arquivos jar necessários e incluí-los no seu aplicativo. O Java 6 e o Java 7 incluem a implementação JAXP 1.4 usando os pacotes javax.xml e org.apache.

Neste exemplo, a instrução de importação será sinalizada.

< span class="Code"> importar com.sun.org.apache.xerces.internal.jaxp.JAXPConstants;

....
DocumentBuilderFactory docBuilder =
DocumentBuilderFactory.newInstance();
docBuilder.setAttribute(JAXPConstants.JAXP_SCHEMA_LANGUAGE,
JAXPConstants.W3C_XML_SCHEMA;
...

A correção recomendada é usar as APIs fornecidas pelo Java Runtime Environment como neste exemplo.

< span class="Code"> importar org.apache.xerces.jaxp.JAXPConstants;

....
DocumentBuilderFactory docBuilder =
DocumentBuilderFactory.newInstance();
docBuilder.setAttribute(JAXPConstants.JAXP_SCHEMA_LANGUAGE,
JAXPConstants.W3C_XML_SCHEMA;
...

Consulte as informações a seguir: