Java JAXB-如何将包前缀应用于所有XSD
我正在尝试处理的项目使用XSD模式的多个版本,其中包括数百个其他XSD文件,以形成完整的对象 我目前让JAXB使用一些自定义绑定为所有xsd文件生成代码,以删除重复项,但是当为一个较新版本生成相同的类文件时,它会覆盖原始版本 我需要为所有生成的类添加一个版本包前缀 这个问题问了同样的问题,但没有得到解决。 项目布局示例:Java JAXB-如何将包前缀应用于所有XSD,java,xsd,jaxb,prefix,Java,Xsd,Jaxb,Prefix,我正在尝试处理的项目使用XSD模式的多个版本,其中包括数百个其他XSD文件,以形成完整的对象 我目前让JAXB使用一些自定义绑定为所有xsd文件生成代码,以删除重复项,但是当为一个较新版本生成相同的类文件时,它会覆盖原始版本 我需要为所有生成的类添加一个版本包前缀 这个问题问了同样的问题,但没有得到解决。 项目布局示例: Version1\test.xsd-----------------------------(package foo) Version1\externalXSDv1\exte
Version1\test.xsd-----------------------------(package foo)
Version1\externalXSDv1\external.xsd---(package bar)
Version2\test.xsd-----------------------------(package foo)
Version2\externalXSDv2\external.xsd---(package bar)
xsd文件包含相同的命名空间,并且大多数类都是相同的
我需要在所有版本1生成的类前面加上'version1.foo'和'version1.bar',而版本2生成的类将显示为'version2.foo'和'version2.bar'
有什么办法吗
jaxb:schemaBindings不起作用,除非我指定每个xsd文件,并且-p将所有类放在同一个包中,这会剥离所有原始包。您可以使用package name参数从每个目录运行命令4次?我已经尝试过了。由此产生的问题是,我必须生成的模式中至少包含100个xsd文件。我尝试了一些成功的插曲文件,但是各种xsd文件都在不同的包中相互引用,这导致在各地生成重复的类。您是否尝试使用外部
?我广泛使用绑定,但是我必须重新绑定至少100个(确切地说是303个)单独以包为目标。@Mciccarone如果您想为所有XSD定义一个不同的包,我想下面可能会有用。