我正在尝试使用的项目使用XSD架构的多个版本,其中包含数百个其他XSD文件以形成该完整对象。
我目前有JAXB使用一些自定义绑定生成所有xsd文件的代码以删除重复项,但是当为其中一个较新版本生成相同的类文件时,它会覆盖原始文件。
我需要为所有生成的类添加前缀版本包前缀。
这个问题问了同样的问题而且没有得到解决。 jaxb xsd prefix package names
示例项目布局:
Version1\test.xsd-----------------------------(package foo)
Version1\externalXSDv1\external.xsd---(package bar)
Version2\test.xsd-----------------------------(package foo)
Version2\externalXSDv2\external.xsd---(package bar)
xsd文件包含相同的命名空间,大多数类都是相同的。
我需要使用'version1.foo'和'version1.bar'为所有version1生成的类添加前缀,而版本2生成的类将显示为'version2.foo'和'version2.bar'
任何想法如何做到这一点?
jaxb:schemaBindings不起作用,除非我指定每个xsd文件,并且-p将所有类放在同一个包中,这会删除所有原始包。