Jaxb 2 Maven插件 - 如何让maven尊重XSD命名空间?

时间:2012-06-13 09:16:31

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

根据maven的任何jaxb2插件,我有一个问题。我想从XSD架构生成源代码。通常,如果我从命令行运行xjc,xjc会根据其命名空间生成所有源(例如核心:AccountType到核心 /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>

2 个答案:

答案 0 :(得分:0)

在没有<packageName>package.name</packageName>的情况下试用它,它应该将它们放在适当的子目录中。

编辑:您可能会对org.jvnet.jaxb2.maven2:maven-jaxb2-plugin

感到更幸运

答案 1 :(得分:0)

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