0

我正在尝试用 Java 构建 Apaches Xerxes 2.11.0 并遇到以下编译错误:

   [xjavac] c:\Program Files\Java\libraries\xerces-2_11_0\build\src\org\apache\html\dom\HTMLFrameElementImpl.java:28: error: HTMLFrameElementImpl is not abstract and does not override abstract method getContentDocument() in HTMLFrameElement

   [xjavac] public class HTMLFrameElementImpl
   [xjavac]        ^
   [xjavac] c:\Program Files\Java\libraries\xerces-2_11_0\build\src\org\apache\html\dom\HTMLIFrameElementImpl.java:28: error: HTMLIFrameElementImpl is not abstract and does not override abstract method getContentDocument() in HTMLIFrameElement
   [xjavac] public class HTMLIFrameElementImpl
   [xjavac]        ^
   [xjavac] c:\Program Files\Java\libraries\xerces-2_11_0\build\src\org\apache\html\dom\HTMLObjectElementImpl.java:28: error: HTMLObjectElementImpl is not abstract and does not override abstract method getContentDocument() in HTMLObjectElement
   [xjavac] public class HTMLObjectElementImpl
   [xjavac]        ^

关于我可能遗漏或做错什么或更好的任何想法,有没有什么地方我可以为这个库下载一个预编译的 jar?(下载页面上可用的“二进制分发”实际上似乎只是文档和示例。)

4

2 回答 2

1

请参阅以下链接以解决编译问题: XERCESJ-1621 xerces2 doesn't build with Mac OS 10.9 and JDK 1.7

核心思想是:

这里的问题是 Xerces 仅支持 DOM Level 1 HTML 规范。但是,安装在系统上的 JDK 1.7 具有 DOM Level 3 规范。JDK 1.5 及更高版本中的第 2 级和第 3 级规范中新增的方法在 Xerces 中未实现。因此,其中一种选择是使用旧版本(即 JDK 1.4 等)构建代码,或者解决方法是在源代码中添加虚拟方法实现,这样您就不会因为不实现它们而出错。

于 2014-12-24T06:30:22.417 回答
0

我在这里找到了罐子:

http://search.maven.org/#artifactdetails|xerces|xercesImpl|2.11.0|jar

我无法让 m2e 在 Eclipse 中加载它们,但我能够使用 AddExternalJars... 方法来添加它们(主 jar 加源和 javadoc jar)

于 2014-06-26T03:51:24.490 回答