cxf-codegen-plugin 不生成源代码

2022-09-02 21:20:28

我正在尝试让cxf-codegen-plugin从我的wsdl文件生成源代码。当调用 wsdl2java 手动时,会生成所需的类,但是当使用 mvn generate-sources 时,没有任何反应,我收到消息“项目不需要任何目标”。直接调用插件没有帮助。

我的poms的摘录如下:

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>2.5.2</version>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>${basedir}/src/main/MyServiceInterface.wsdl</wsdl>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

答案 1

这看起来非常像我(成功)在我的一个项目中配置该插件的方式;我希望这能奏效。(我相信你可以省略;的默认设置是你所说的那个。<sourceRoot>

我唯一能想到的是,如果您将该插件配置放在非活动的Maven配置文件中,或者(更有可能)放在该部分而不是直部分;插件管理部分覆盖了插件配置的各个方面,但实际上并没有启用它们以供使用。(但是,它确实会影响显式使用;我知道你不想那样做。<pluginManagement><plugins>


答案 2

至少在我的情况下,我认为它也没有生成源代码,但实际上确实如此。问题是文件夹 target/generated/cxf 被 Eclipse 指定为源文件夹,而我没有手动执行此操作。因此,源代码位于我项目的顶部,在包结构中,而不是在下面的文件夹结构中,这是我正在寻找并期望它的位置。


推荐