我试图让cxf-codegen插件从我的wsdl文件中生成源。当调用wsdl2java手册时,会生成所需的类,但是当使用mvn生成源时,什么都不会发生,我得到消息“项目不需要目标”。直接调用插件没有帮助。
下面是我的书签的摘录:
<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>发布于 2012-04-15 18:12:27
这看起来非常像我(成功地)在我的一个项目中配置插件的方式;我希望它能工作。(我相信您可以省略<sourceRoot>;默认设置是您已经声明的设置。)
我唯一能想到的是,如果您将插件配置放在一个非活动的Maven配置文件中,或者(更可能的话)放在<pluginManagement>部分,而不是直接的<plugins>部分;pluginManagement部分会覆盖插件配置的各个方面,但实际上并不允许它们使用。(不过,它确实会影响显式用法;我知道您不想这样做。)
发布于 2012-04-27 15:39:59
至少在我的例子中,我认为它没有生成源代码,但实际上是这样的。问题是Eclipse指定了目标/生成/cxf文件夹为源文件夹,而我没有手动这样做。因此,源是在我的项目顶部,在包结构,而不是在文件夹结构下面,这是我正在寻找和期待它的地方。
发布于 2016-06-26 13:05:38
在我的例子中,只要有旧的目标目录(在<sourceRoot>/path/to/target</sourceRoot>中定义),就不会生成任何内容。只有在删除目标文件夹之后,手动插件才真正开始生成源。
https://stackoverflow.com/questions/10164522
复制相似问题