为什么没有将jaxb适配器注释添加到代理类中

我的XSD看起来像这样:

 ...   ...    ...  

我无法将适配器注释添加到具体字段(生成的代理类必须具有我的适配器注释)。 所以结果应该如下

  @XmlJavaTypeAdapter(value=StringAdapter.class, type=String.class) @XmlAttribute(name = "first_name") protected String firstName; 

但我的约束力没有做任何事情。 就像它不存在一样。

      

代理类生成期间没有错误

 dependencies { xsd2java "com.sun.xml.bind:jaxb-xjc:2.2.7" xsd2java "com.sun.xml.bind:jaxb-impl:2.2.7" } task xsd2java() { doLast { jaxbTargetDir.mkdirs() ant.taskdef(name: 'xjc', classname: 'com.sun.tools.xjc.XJCTask', classpath: configurations.xsd2java.asPath) ant.jaxbTargetDir = jaxbTargetDir ant.xjc(destdir: '${jaxbTargetDir}', package: 'xyzrequest', schema: 'src/main/resources/XMLreq.xsd', binding: 'src/main/resources/bindings.jxb') } } 

和我的适配器。

 public class StringHashFunctionAdapter extends XmlAdapter { @Override public String marshal(String v) throws Exception { return "####hashed value####"; } 

有任何想法吗?