Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当使用用于Maven的cxf codegen插件时,ApacheCXF能否生成完整的构造函数?_Maven_Constructor_Cxf_Wsdl2java - Fatal编程技术网

当使用用于Maven的cxf codegen插件时,ApacheCXF能否生成完整的构造函数?

当使用用于Maven的cxf codegen插件时,ApacheCXF能否生成完整的构造函数?,maven,constructor,cxf,wsdl2java,Maven,Constructor,Cxf,Wsdl2java,我使用用于Maven的cxf codegen插件从wsdl/xsd生成服务器/客户机。创建的所有类型都有默认的no-arg构造函数,这使它们很难使用 有没有办法让ApacheCXF也生成一个完整的构造函数,将类的所有成员作为参数?这个插件只是围绕xjc的一个奇特的包装器 有两个xjc插件可以解决您的问题空间: 正是你要找的 这并不完全是您想要的,但许多人更喜欢流畅的api而不是值构造函数 您需要添加所需的依赖项,然后配置插件以在xjc中启用这些插件,例如 <plugin> &

我使用用于Maven的cxf codegen插件从wsdl/xsd生成服务器/客户机。创建的所有类型都有默认的no-arg构造函数,这使它们很难使用


有没有办法让ApacheCXF也生成一个完整的构造函数,将类的所有成员作为参数?

这个插件只是围绕xjc的一个奇特的包装器

有两个xjc插件可以解决您的问题空间:

  • 正是你要找的
  • 这并不完全是您想要的,但许多人更喜欢流畅的api而不是值构造函数
您需要添加所需的依赖项,然后配置插件以在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>

org.apache.cxf
cxf-codegen插件
-xjc Xvalue构造函数
org.jvnet.jaxb2_commons
jaxb2值构造函数
3
org.jvnet.jaxb2_commons
jaxb2基础知识
0.6.4

注意:以上将此设置为所有执行的默认设置,如果您只想为特定执行启用这些选项,则只需将
位添加到该特定执行中即可。

我面临同样的问题。如果您找到了解决方案,请发表评论。谢谢!早些时候,我试图用
org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.8.2
扩展
cxf-jc-plugin
,但失败了,但通过您的示例,很明显我应该使用
org.jvnet.jaxb2_commons:jaxb2-basics:0.6.4
谢谢。对于提供的两个链接,我只收到一个移动通知。试图封杀他们,但只使用代码就可以访问github repos?