我有一些模拟文件系统的类,基本上有一个基本的 FileSystemEntry 类和 FileSystemDirectoryEntry、FileSystemFileEntry 子类。所有这些类都包含 JAXB 注释。
使用 java 6 和 7 使用 eclipse indigo 编译所有这些都没有错误。类继续在我们的构建框中使用 java 7 正确编译,但 eclipse juno 突出显示以下错误(域名已更改):
“在此上下文中,无法使用命名空间‘ http://www.example.com/tree ’和名称‘fileSystemEntry’解析 XML 元素声明”
错误中引用的类的大小写与实际类的大小写不匹配,不确定是否相关。类注释如下:
@XmlRootElement(namespace="http://www.example.com/tree")
@XmlAccessorType(XmlAccessType.NONE)
public class FileSystemEntry implements Iterable
@XmlRootElement(name="directory", namespace="http://www.example.com/tree")
public class FileSystemDirectoryEntry extends FileSystemEntry
对于 XmlRootElement 和 FileSystemEntry 中的类名以及 FileSystemDirectoryEntry 中的类名,这些错误会突出显示。
我不知道我是否在 JAXB 上做错了,而 Juno 构建已经改进以捕捉到这一点,或者这是否是 Juno 的问题。我怀疑是后者,因为我们的构建机器可以毫无问题地处理这些问题。
在此先感谢您的任何指点。