我有3个XSD: commonClasses和另外两个导入这些的。
现在我使用maven-jaxb2-plugin从这些中生成我的类。 为了防止我的Enums类被生成两次,我添加了:
<extension>true</extension>
<bindingDirectory>${project.build.directory}/generated-sources/xjc1/generic/META-INF</bindingDirectory>
<bindingIncludes>
<include>generic.episode</include>
</bindingIncludes>
执行其他两个XSD的执行步骤。
现在这可以正确防止文件生成两次。
然而在commonClasses中有一个枚举。因为默认情况下它们默认转换为null,所以我需要创建一个自定义的XMLAdapter。 但是我在注册适配器方面遇到问题,因为根据以下内容我不能同时拥有剧集文件和XJB文件:https://github.com/highsource/maven-jaxb2-plugin/issues/131
我尝试将以下内容添加到我的XSD中,但这似乎也没有骰子。
<xs:simpleType name="foo">
<xs:annotation>
<xs:appinfo>
<xjc:javaType name="something.Foo"
adapter="something.FooAdapter" />
</xs:appinfo>
</xs:annotation>
有没有人可以给我一些我搞砸的指示?