Non utilizzare le classi interne JAXP com.sun.org.apache

I package JAXP com.sun.org.apache non sono disponibili in IBM Java 6 Runtime Environment. Non utilizzare le classi da questi package:

Tener presente che IBM Java 7 ha riaggiunto alcune di queste API interne a JRE per semplificare i problemi di migrazione. Modificare il codice per non utilizzare le API interne, viene ancora considerata come miglior pratica.

Questa regola suggerisce l'utilizzo di questi package uno alla volta per progetto. Valutare l'applicazione per determinare l'estensione per cui l'applicazione utilizza le classi da questi package interni JAXP 1.3.

Se si desidera continuare ad utilizzare la vecchia implementazione JAXP e le classi interne, è possibile scaricare i file jar necessari e includerli nell'applicazione. Java 6 e Java 7 includono l'implementazione JAXP 1.4 utilizzando javax.xml e i package org.apache.

In questo esempio, verrà contrassegnata l'istruzione di importazione.

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

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

La correzione consigliata è utilizzare le API fornite da Java Runtime Environment come in questo esempio.

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

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

Fare riferimento alle seguenti informazioni: