我使用maven的cxf-codegen-plugin从我的wsdl / xsd生成服务器/客户端。创建的所有类型都有默认的no-arg-constructors,这使得它们很难使用。
有没有办法让Apache CXF生成一个完整的构造函数,并且该类的所有成员都作为参数?
答案 0 :(得分:6)
这个插件只是围绕xjc的一个奇特的包装。
有两个xjc插件可以解决您的问题空间:
您需要添加所需的依赖项,然后配置插件以在xjc中启用这些插件,例如
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<configuration>
<defaultOptions>
<extraargs>
<extraarg>-xjc-Xvalue-constructor</extraarg>
</extraargs>
</defaultOptions>
</configuration>
<dependencies>
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-value-constructor</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics</artifactId>
<version>0.6.4</version>
</dependency>
</dependencies>
</plugin>
注意:如果您只想为特定执行启用这些选项,则上述内容使其成为所有执行的默认值,然后只需将<configuration>
位添加到该特定执行中。