Nepoužívat interní třídy com.sun.org.apache JAXP

Balíky com.sun.org.apache JAXP nejsou k dispozici v prostředí IBM Java 6 Runtime Environment. Nepoužívejte třídy z těchto balíků:

Všimněte si, že produkt IBM Java 7 přidal některá z těchto interních rozhraní API zpět do prostředí JRE, a usnadňuje tak problémy s migrací. Stále je považován jako nejlepší postup změnit kód tak, aby se tato interní rozhraní API nepoužívala.

Toto pravidlo označí příznakem použití těchto balíků jednou za projekt. Vyhodnoťte svou aplikaci a určete rozsah, v jakém aplikace používá třídy z interních balíků JAXP 1.3.

Chcete-li i nadále používat starší implementaci JAXP a interní třídy, můžete si stáhnout soubory JAR, které potřebujete, a zahrnout je do aplikace. Prostředí Java 6 a Java 7 zahrnují implementaci JAXP 1.4 s použitím souboru javax.xml a balíků org.apache.

V tomto příkladu bude příkaz import označen.

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

Doporučenou opravou je použití rozhraní API pro běhové prostředí Java (Java Runtime Environment) jako v tomto příkladu.

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

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

Viz následující informace: