我对此有一个中途解决方法,但是这非常耗时。我必须
<execution/>为每个具有重复条目的文件创建一个单独的文件。
<executions> <execution> <id>jaxb-mac</id> <phase>generate-sources</phase> <goals> <goal>generate</goal> </goals> <configuration> <forceRegenerate>true</forceRegenerate> <generatePackage>my.company.mac</generatePackage> <schemaDirectory>src/main/schema</schemaDirectory> <schemaIncludes> <include>mac-3.4.xsd</include> </schemaIncludes> </configuration> </execution> <execution> <id>jaxb-stylesheet</id> <phase>generate-sources</phase> <goals> <goal>generate</goal> </goals> <configuration> <forceRegenerate>true</forceRegenerate> <generatePackage>my.company.stylesheet</generatePackage> <schemaDirectory>src/main/schema</schemaDirectory> <schemaIncludes> <include>mac-stylesheet-3.4.xsd</include> </schemaIncludes> </configuration> </execution>
这个
<forceRegenerate>true</forceRegenerate>很重要,或者只有第一个
<execution/>会运行,其余的会认为没有必要运行,因为我正在生成同一个目录。
我仍然希望使用劳动强度较小的解决方案来处理重复项。
我认为,如果我将第一个主.xsd制作成一个单独的模块,并将其内置到自己的.jar文件中,那么我可以使用
<episode/>标签,并让它跳过一遍又一遍地生成相同的重复元素,因为它们的定义相同。
从那以后,我决定尽可能放弃XML并完全放弃JAXB。 从此编辑开始,有更新更好的方法来解析XML并将其映射到对象。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)