【问题标题】:Jaxb 2 Maven Plugin - how to make maven respect XSD namespaces?Jaxb 2 Maven 插件 - 如何让 Maven 尊重 XSD 命名空间?
【发布时间】:2012-06-13 09:16:31
【问题描述】:

根据任何 jaxb2 maven 插件,我有一个问题。我想从 XSD 模式生成源。通常,如果我从命令行运行 xjc,xjc 会根据它们的命名空间生成所有源(如 core:AccountType 到 core/AccountType.java 等)

cmd> xjc PublEnvlp.xsd

我想使用一些 maven 插件来使用相同的功能,但是它将所有 java 类创建到一个目录中,因此存在重复冲突。是否有任何标志、插件、功能……使 maven 与命令行 xjc 命令一样工作?我在 maven 中使用下面的代码:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.3.1</version>
<executions>
    <execution>
        <id>xjc</id>
        <goals>
            <goal>xjc</goal>
        </goals>
        <configuration>
            <packageName>package.name</packageName>
            <schemaDirectory>src/main/resources/DataArchitecture/XML/RDF/Physical_Xml</schemaDirectory>
            <forceRegenerate>true</forceRegenerate>
            <verbose>true</verbose>
        </configuration>
    </execution>
</executions>

【问题讨论】:

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


    【解决方案1】:

    不使用&lt;packageName&gt;package.name&lt;/packageName&gt; 试试,它应该将它们放在适当的子目录中。

    编辑:org.jvnet.jaxb2.maven2:maven-jaxb2-plugin 可能会让你更幸运

    【讨论】:

    • 感谢您的回复。不幸的是它仍然是一样的:(
    • 你试过没有 packageName 和 "mvn clean package" 吗?
    【解决方案2】:

    maven-jaxb2-plugin 调用 XJC 并且这尊重命名空间。您可以使用绑定来自定义包名称,但即使没有,您也应该根据命名空间获取包名称。您可能在其他地方遇到了问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-02
      • 2013-08-12
      相关资源
      最近更新 更多