com.sun.org.apache JAXP 包在 IBM Java 6 运行时环境中不可用。
请勿使用下列包中的类:
- com.sun.org.apache.xerces.*
- com.sun.org.apache.xml.*
- com.sun.org.apache.xalan.*
- com.sun.org.apache.xpath.*
请注意,IBM Java 7 已将其中的某些内部 API 添加回到 JRE 以缓解迁移问题。
更改代码以免使用这些内部 API 仍视为最佳实践。
对于使用这些包的每个项目,此规则会标记一次。 评估应用程序以确定应用程序在什么范围内使用这些 JAXP 1.3 内部包中的类。
如果要继续使用较旧的 JAXP 实现和内部类,那么可以下载所需的 JAR 文件并将其包括在应用程序中。 Java 6 和 Java 7 包括使用 javax.xml 和 org.apache 包的 JAXP 1.4 实现。
在本示例中,将标记 import 语句。
import com.sun.org.apache.xerces.internal.jaxp.JAXPConstants;
....
DocumentBuilderFactory docBuilder =
DocumentBuilderFactory.newInstance();
docBuilder.setAttribute(JAXPConstants.JAXP_SCHEMA_LANGUAGE,
JAXPConstants.W3C_XML_SCHEMA;
...
建议的修正方法是如本示例中所示,使用 Java 运行时环境提供的 API。
import org.apache.xerces.jaxp.JAXPConstants;
....
DocumentBuilderFactory docBuilder =
DocumentBuilderFactory.newInstance();
docBuilder.setAttribute(JAXPConstants.JAXP_SCHEMA_LANGUAGE,
JAXPConstants.W3C_XML_SCHEMA;
...
请参阅以下信息: