我不能让我生成的类实现任何接口。
这是我的xml模式文件:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb/"
xmlns:ai="http://jaxb.dev.java.net/plugin/if_insertion"
jxb:extensionBindingPrefixes="ai">
<xs:element name="header">
<xs:annotation>
<xs:appinfo>
<ai:interfaces check="1">
utility.RuleInterface
</ai:interfaces>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
bla bla bla
</xs:complexType>
....
我选中了JAXB options中的"Extension“选项,并将xjc-if-ins.jar
添加到项目属性的"Libraries”部分。
但是生成的Header类并不实现utility.RuleInterface
。
我能找出我做错了什么..。是不是遗漏了什么?
发布于 2010-04-17 01:22:11
你真的激活插件了吗?使用像-Xinheritance
这样的选项
这是你可以使用的另一个插件:
http://confluence.highsource.org/display/J2B/Inheritance+plugin
下面是一个示例项目(Ant和Maven):
http://download.java.net/maven/2/org/jvnet/jaxb2_commons/jaxb2-basics-sample-po/0.5.2/
发布于 2010-04-19 22:02:42
只是对其他有同样问题的人的另一种注意。xml模式文件中的元素应该以这种方式编写:
<xs:complexType name="header">
<xs:annotation>
<xs:appinfo>
<ai:interfaces check="0">
utility.RuleInterface
</ai:interfaces>
</xs:appinfo>
</xs:annotation>
</xs:complexType>
你可以参考它们:
<xs:element name="rule">
<xs:complexType>
<xs:sequence>
<xs:element name="header" type="header" maxOccurs="unbounded" />
...
</xs:sequence>
<xs:complexType>
我的问题是,我已经将头声明为<xs:element name="header">
,然后我用<xs:element ref="header" maxOccurs="unbounded" />
引用元素,这种方法似乎不起作用……
https://stackoverflow.com/questions/2654084
复制相似问题