0

根据 maven 的任何 jaxb2 插件,我有一个问题。我想从 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>

4

2 回答 2

0

尝试不使用<packageName>package.name</packageName>,它应该将它们放在适当的子目录中。

编辑:你可能有更多的运气org.jvnet.jaxb2.maven2:maven-jaxb2-plugin

于 2012-06-13T09:36:11.030 回答
0

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

于 2013-01-27T21:32:34.387 回答