Maven JAXB插件不会自动创建源文件夹

时间:2015-12-31 15:25:57

标签: java eclipse maven jaxb

我们有两个不同的项目,每个项目都有自己的XSD来使用JAXB生成类。每个项目都具有相同的maven插件配置,用于执行此操作

<plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb2-plugin</artifactId>
    <executions>
        <execution>
            <id>generate-pojo</id>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <extension>true</extension>
                <args>
                    <arg>-Xsetters</arg>
                    <arg>-Xsetters-mode=direct</arg>
                </args>
                <forceRegenerate>false</forceRegenerate>
                <schemaDirectory>src/main/resources/xsd</schemaDirectory>
                <plugins>
                    <plugin>
                        <groupId>org.jvnet.jaxb2_commons</groupId>
                        <artifactId>jaxb2-basics</artifactId>
                        <version>${jaxb2-basics.version}</version>
                    </plugin>
                </plugins>
            </configuration>
        </execution>
    </executions>
</plugin>

问题是,在Eclipse中运行mvn install命令并刷新项目树之后,我只能在一个项目中看到新生成的类作为源文件夹而不是另一个项目。其他项目的问题可能是什么?

1 个答案:

答案 0 :(得分:0)

免责声明:我是maven-jaxb2-plugin的作者。

如果您没有显示pom.xml,则很难分辨出问题所在。我建议该插件不活跃。例如,它可以在pluginManagement中声明,但不能在build/plugins中声明。或者这可能是pom(与jar)包装等。您展示的pom.xml片段对我来说似乎完全没问题。

作为插件的作者,我的主要回答是您应该发布项目的mvn clean install -e -X日志以及pom.xml,或者更好的是,在这里向我发送一个带有重现项目的拉取请求:

https://github.com/highsource/maven-jaxb2-plugin-support

PS。与@Tunaki建议不同,如果您使用我的maven-jaxb2-plugin,则无需声明buildhelper-maven-pluginmaven-jaxb2-plugin会自动将生成的源文件夹添加为Maven源文件夹。