请勿使用 com.sun.org.apache JAXP 内部类

com.sun.org.apache JAXP 包在 IBM Java 6 运行时环境中不可用。 请勿使用下列包中的类:

请注意,IBM Java 7 已将其中的某些内部 API 添加回到 JRE 以缓解迁移问题。 更改代码以免使用这些内部 API 仍视为最佳实践。

对于使用这些包的每个项目,此规则会标记一次。 评估应用程序以确定应用程序在什么范围内使用这些 JAXP 1.3 内部包中的类。

如果要继续使用较旧的 JAXP 实现和内部类,那么可以下载所需的 JAR 文件并将其包括在应用程序中。 Java 6 和 Java 7 包括使用 javax.xmlorg.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;
...

请参阅以下信息: