【问题标题】:How to predefine XSD file name with jaxb2-maven-plugin如何使用 jaxb2-maven-plugin 预定义 XSD 文件名
【发布时间】:2017-11-14 09:09:44
【问题描述】:

我使用下面的代码从带注释的 java 类生成 XSD。 XSD 的默认名称始终为“schema1.xsd”。我应该如何仅使用该插件预先定义它?目前我使用 maven-antrun-plugin 进行文件重命名。 Plugin manual 不包含相关信息。

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>jaxb2-maven-plugin</artifactId>
  <version>2.3</version>
  <executions>
    <execution>
      <goals>
        <goal>schemagen</goal>
      </goals>
      <phase>generate-sources</phase>
      <configuration>
        <sources>
          <source>src/main/java/***some package***</source>
        </sources>
        <outputDirectory>${project.build.directory}/generated-sources/schemas</outputDirectory>
      </configuration>
    </execution>
  </executions>
</plugin>

【问题讨论】:

    标签: java maven xsd jaxb jaxb2-maven-plugin


    【解决方案1】:

    已找到答案。仅使用 JAXB 注释来注释您的 java 类是不够的。在 DTO 包中应该存在文件“package-info.java”,内容如下:

    @XmlSchema(namespace = "http://your-namespace")
    package com.your.package;
    
    import javax.xml.bind.annotation.XmlSchema;
    

    插件声明应该是这样的:

    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>jaxb2-maven-plugin</artifactId>
      <version>2.3</version>
      <executions>
        <execution>
          <goals>
            <goal>schemagen</goal>
          </goals>
          <phase>generate-sources</phase>
        </execution>
      </executions>
      <configuration>
        <sources>
          <source>src/main/java/com/your/package</source>
        </sources>
        <outputDirectory>${project.build.directory}/generated-sources/schemas</outputDirectory>
        <transformSchemas>
          <transformSchema>
            <uri>http://your-namespace</uri>
            <toFile>your-namespace.xsd</toFile>
          </transformSchema>
        </transformSchemas>
      </configuration>
    </plugin>
    

    【讨论】:

      猜你喜欢
      • 2013-12-18
      • 2011-12-30
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多