Jaxb 如何在jaxws中使用wsimport生成equals()和hashcode()方法

Jaxb 如何在jaxws中使用wsimport生成equals()和hashcode()方法,jaxb,jax-ws,Jaxb,Jax Ws,使用wsimport从我的WSDL生成的类没有equals()和hashcode()方法。如何自定义和生成客户端类以获取equals()和hashcode()方法 我不确定是否要使用JAXB来实现这一点 在Axis2.0生成的存根中生成了这些方法,但不确定为什么JAXWS中没有这样一个基本的东西 您可以使用JAXB2基础插件生成equals()和hashcode()方法: 有关其工作原理的更多信息。 我必须将类路径添加到jaxb2 commons中,如果没有它,wsimport将毫无怨言地

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

我不确定是否要使用JAXB来实现这一点


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

您可以使用JAXB2基础插件生成
equals()
hashcode()
方法:


有关其工作原理的更多信息。 我必须将类路径添加到
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>

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


谢谢,我将与wsimport进行核对,同时,如果您有一个示例,请给出一个示例。502坏网关。。是不是只有这几天?如果您指定如何将类路径添加到wsimport,这将非常有用。