Ne használjon com.sun.org.apache JAXP belső osztályokat

A com.sun.org.apache JAXP csomagok nem érhetők el az IBM Java 6 futási környezetben. Ne használjon osztályokat ezekből a csomagokból:

Vegye figyelembe, hogy az IBM Java 7 az átállítási problémák kezelésének megkönnyítése érdekében ismét hozzáadott a JRE környezethez néhányat ezek közül a belső API-k közül. A követendő eljárásnak továbbra is az tekinthető, hogy módosítja a kódot, hogy ne használja ezeket a belső API-kat.

Ez a szabály a csomagok használatát törekvésekként egyszer jelöli meg. Értékelje ki az alkalmazást, és állapítsa meg, hogy milyen mértékben használ az alkalmazás osztályokat ezekből a JAXP 1.3 belső csomagokból.

Ha továbbra is a régi JAXP megvalósítást és belső osztályokat szeretné használni, akkor letöltheti a szükséges jar fájlokat, és belefoglalhatja azokat az alkalmazásába. A Java 6 és a Java 7 a JAXP 1.4 megvalósítást tartalmazza, a javax.xml és az org.apache csomagok használatával.

Ebben a példában az importálási utasítás meg lesz jelölve.

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;
...

Az ajánlott javítás a Java futási környezetben adott API-k használata, ahogy ebben a példában.

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

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

További információk: