Java JAXB@xmlsee还导致与域对象的紧密耦合

Java JAXB@xmlsee还导致与域对象的紧密耦合,java,web-services,jaxb,jax-ws,cxf,Java,Web Services,Jaxb,Jax Ws,Cxf,我使用JAXB绑定直接解组到我的域层对象,这些对象是生成的webservice类型的子类。这是一个很好的解决方案,因为我可以重写方法并提供编写自定义逻辑等。然而,XJC编译器坚持在所有生成的类上都添加@xmlseealc({MySubclass.class})注释,这导致它们与我的域对象紧密耦合。这显然是不可取的,并且在我的项目之间引起了各种各样的引用问题,我在这里不想讨论这些问题 是否可以生成不具有@xmlseealway注释的类?解组到子类的实际工作似乎发生在ObjectFactory类中。

我使用JAXB绑定直接解组到我的域层对象,这些对象是生成的webservice类型的子类。这是一个很好的解决方案,因为我可以重写方法并提供编写自定义逻辑等。然而,XJC编译器坚持在所有生成的类上都添加@xmlseealc({MySubclass.class})注释,这导致它们与我的域对象紧密耦合。这显然是不可取的,并且在我的项目之间引起了各种各样的引用问题,我在这里不想讨论这些问题

是否可以生成不具有@xmlseealway注释的类?解组到子类的实际工作似乎发生在ObjectFactory类中。是否可以省略jaxb绑定,为每个应用程序替换自定义ObjectFactory?这将允许我在一个共享的util中拥有自动生成的webservice类型,而每个web项目都可以解组这些类型的不同子类

<jaxb:bindings node="//xs:complexType[@name='AutogeneratedWebserviceType']">
  <jaxb:class implClass="my.project.CustomSubclass" />
</jaxb:bindings>

如果可能的话,我希望通过提供customer ObjectFactory来实现这种行为,而不使用@XMLSeeAllow注释。

是否尝试使用参数-target 2.0运行XJC?我相信这将禁用@xmlseealway注释的生成。

对于ant,使用类似这样的方法:非常感谢,“-target 2.0”解决了我的问题。我在OSGi环境中使用Webservices,这个愚蠢的运行时注释XMLSee也导致了与其他模块的紧密连接,这是完全不必要的
public AutogeneratedWebserviceType createAutogeneratedWebserviceType() {
  return new CustomSubclass();
}