您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

有没有一种方法可以处理JAXB中多个.xsd文件中重复的元素定义?

有没有一种方法可以处理JAXB中多个.xsd文件中重复的元素定义?

我对此有一个中途解决方法,但是这非常耗时。我必须<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并将其映射到对象。

其他 2022/1/1 18:16:08 有479人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶