【问题标题】:Eclipse Can't Find Latest Java 1.6 Methods for XMLOutputFactoryEclipse 找不到 XMLOutputFactory 的最新 Java 1.6 方法
【发布时间】:2013-08-06 18:52:51
【问题描述】:

我正在尝试为XMLOutputFactory 使用newFactory() 方法,该方法是在Java 6 中添加的。但是Eclipse 一直将newFactory() 标记为XMLOutputFactory 类型的未定义。 JRE7 是唯一安装在新 Java 项目的构建路径中的运行时。项目本身只有 JRE7(JRE 系统库)和 Ivy 设置。我不断收到的错误是

The method newFactory() is undefined for the type XMLOutputFactory

任何想法如何让 Eclipse 接受newFactory?几乎只是使用return XMLOutputFactory.newFactory() 作为调用函数的唯一位置。

【问题讨论】:

  • 您是否将编译器合规级别设置为 1.6 ?
  • 是的。使用 Window->Preferences 的新 Java 项目的默认合规级别设置为 1.6。对于这个具体出现问题的项目,合规性设置为 1.7(否则会出现一堆其他错误)。
  • 所以你可以检查你的导入,你真的导入了正确的类。
  • 你的意思是导入语句?它是“导入 javax.xml.stream.XMLOutputFactory;”这似乎是正确的......
  • 尝试清理并重建。有时这会有所帮助。

标签: java stax


【解决方案1】:

我遇到了同样的问题,我通过从类路径中删除 StAX 来修复它,因为 Java 7 附带的 XMLOutputFactory 版本提供了 newFactory 方法,但 StAX 附带的 XMLOutputFactory 版本没有它。

【讨论】:

  • 成功了。我使用dependenceis任务将其从我的gradle构建中排除,以查找路径并将排除部分添加到父依赖项
【解决方案2】:

我遇到了同样的问题,通过以下方式解决: XMLInputFactory factory = XMLInputFactory.newInstance(); 您可以访问:

click here for full description

【讨论】:

    【解决方案3】:

    我构建并导入了 Apache Phoenix 项目。类 XMLResultHandler 给出了同样的错误“对于 XMLOutputFactory 类型的方法 newFactory() 是未定义的”。 我通过更改 Java System Library 和 stax-api-1.0-2.jar 的顺序解决了这个问题。

    After correction eclipse project Library order snapshot

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-05
      • 1970-01-01
      • 1970-01-01
      • 2016-02-11
      • 2017-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多