【问题标题】:control schema file name created by jaxb schemagen maven plugin (maven-jaxb-schemagen-plugin)由 jaxb schemagen maven 插件(maven-jaxb-schemagen-plugin)创建的控制模式文件名
【发布时间】:2011-05-27 10:20:29
【问题描述】:

我似乎无法弄清楚如何控制由 maven-jaxb-schemagen-plugin 创建的 XSD 文件的文件名。 documentation 有点稀疏。

        <groupId>com.sun.tools.jxc.maven2</groupId>
        <artifactId>maven-jaxb-schemagen-plugin</artifactId>
        <version>1.2</version>
        <configuration>
           <project>${project}</project>
           <destdir>${project.build.directory}/generated-resources/schemas</destdir>
           <srcdir>${project.build.sourceDirectory}/my/jaxb/bean/package</srcdir>
           <verbose>true</verbose>
        </configuration>

似乎总是创建一个名为 schema1.xsd 的文件

【问题讨论】:

    标签: java maven-2 jaxb schemagen


    【解决方案1】:

    您需要添加描述哪个文件应包含您拥有的每个命名空间的元素的架构元素:

    <configuration>
        [...]
        <schemas>
           <schema>
              <namespace>http://www.example.invalid/2001/05/27/wibble</namespace>
              <file>wibble.xsd</file>
           </schema>
        </schemas>
    <configuration>
    

    假设您已经设置了组件的命名空间

    @XmlRootElement(name = "wobble", namespace="http://www.example.invalid/2001/05/27/wibble")
    

    【讨论】:

    • 可以在包级别指定命名空间,也可以为类使用@XmlType 注释。此外,使用命令行 schemagen 似乎无法做到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2011-05-18
    • 2014-05-16
    相关资源
    最近更新 更多