所需库 rt.jar 的访问限制:可以在 Java 5 上编译 Java 1.4 代码而不重新创建存根吗?
尝试编译时由 IBM 的 WSDL2Java 在 Java 5 上生成的 Java 1.4 代码,无需重新创建存根, Eclipse 中可能会出现访问限制错误。错误“访问限制:由于所需库 rt.jar 的限制,无法访问类型 QName”,表示所需库 (rt.jar) 的访问受到限制。
出现此问题的原因是存根为 Java 1.4 生成的代码可能会使用 Java 1.4 运行时中的类,这与 Java 5 使用的运行时不同。Java 5 附带的 rt.jar 库可能不包含生成的代码所需的类。编译成功。
重新创建存根的替代解决方案
此问题有一个替代解决方案,无需重新创建存根。步骤如下:
此解决方案有效,因为来自不同 jar 的多个类文件可能存在于项目中。删除并重新添加 JRE 系统库可确保优先考虑正确的类。
确保基本解决方案
对于更基本的解决方案,请确保包含以下内容的 jar 文件相同的类被排除在该项目之外。这将防止不同来源的类之间发生冲突,确保使用 JRE 系统库中所需的类。
示例:
在 javax.xml 的情况下.soap.SOAPPart 存在于三个 jar 文件(axis-saaj-1.4.jar、saaj-api-1.3.jar 和 rt.jar)中,不包括前两个 jar 文件将保证使用 JRE 系统库中的 SOAPPart 类,从而解决访问限制错误。
以上是Java 1.4 代码可以在 Java 5 上编译而不重建存根吗?的详细内容。更多信息请关注PHP中文网其他相关文章!