【问题标题】:How to generate equals() and hashcode() methods using wsimport in jaxws如何在 jaxws 中使用 wsimport 生成 equals() 和 hashcode() 方法
【发布时间】:2011-09-25 07:04:03
【问题描述】:

使用wsimport 从我的WSDL 生成的类没有equals() 和hashcode() 方法。如何自定义和生成客户端类以获取 equals() 和 hashcode() 方法。

我不确定使用 JAXB 来实现这一点。

在 Axis2.0 生成的存根中生成了这些方法,但不确定为什么 JAXWS 中没有这样的基本方法!

【问题讨论】:

    标签: jaxb jax-ws


    【解决方案1】:

    您可以使用 JAXB2 Basics Plugin 生成 equals() 和 hashcode() 方法:

    【讨论】:

    • 谢谢,我会用wsimport检查一下,如果你有的话请举个例子。
    • 502 Bad Gateway.. 就这几天?
    【解决方案2】:

    有关其工作原理的更多信息。 我必须将类路径添加到 jaxb2-commons 并且没有它 wsimport 运行没有抱怨但什么也没有发生!添加如下类路径后

    <path id="jaxb2-commons.classpath">
        <fileset dir="${dir.toolchain}/noarch/jaxb2-basics-dist-0.6.0">
            <include name="**/*.jar" />
        </fileset>
    </path>
    

    以下 wsimport 按预期工作

    <wsimport wsdl="@{dir-wsdl}/@{name-wsdl}"
              taskname="wsimport-@{service}"
              destdir="@{dest-dir}"
              sourcedestdir="@{source-dest-dir}"
              package="@{package}"
              keep="@{keep}"
              verbose="@{verbose}"
              xdebug="@{xdebug}"
              xnocompile="@{xnocompile}"
              target="2.1">
        <binding dir="@{dir-wsdl}" includes="bindings-wsdl-@{name-wsdl}.xml, bindings-schema-@{name-wsdl}.xml" />
        <xjcArg value="-Xequals" />
        <xjcArg value="-XhashCode" />
        <xjcArg value="-XtoString" />
        <!-- Generates per-package jaxb.index file which lists all of the schema-derived classes in this package.-->
        <xjcArg value="-Xjaxbindex" />
        <xjcArg value="-Xsetters" />
    </wsimport>
    

    【讨论】:

    • 如果您指定如何将类路径添加到 wsimport,将会很有帮助。
    【解决方案3】:

    如果您希望在 maven 中使用 wsimport 生成 hashcode() 和 equals(),请查看有关如何生成值构造函数的答案,但也包括生成 hashcode() 和 equals() 的配置:

    How do I make wsimport generate constructors?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 2013-07-28
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多