2010-07-08 10 views
14

que quería utilizar la anotación jaxb en mi clase como esta:¿Cómo usar las anotaciones de JAXB en el lado del cliente para GWT?

@XmlRootElement 
public class ItemExtension implements Serializable { 

Pero GWT se queja cuando lo pongo en el lado del cliente.

[ERROR] Line 4: The import javax.xml.bind cannot be resolved 
     [ERROR] Line 14: XmlRootElement cannot be resolved to a type 

¿Hay alguna solución o estoy haciendo algo mal?

Respuesta

0

Es posible encontrar una solución viable aquí: GWT with JPA

10

Tengo un proyecto que utiliza la entidad clases con anotaciones JPA y JAXB en el código GWT del lado del cliente . Consulte la sección "Anulación de la implementación de un paquete con otro" en el GWT Documentation.

Digamos que su módulo está en el paquete com.example.app. Tendrá que volver a crear [1] todas las clases de anotación JAXB en un paquete nuevo, específicamente com.example.app.jre.java.xml.bind.annotation; en su archivo XML del módulo, luego agregue <super-source path="jre" /> y está configurado.

Tenga en cuenta que no necesita distribuir los archivos de clase en ese paquete, solo se necesitan por el compilador de GWT.

[1]: puede copiarlos y ajustar todas las referencias de paquetes.

+0

Si sólo se mueven javax.xml.bind.annotation * recibo errores al compilar. Un ejemplo - 'DOMHandler' -' No hay código fuente disponible para el tipo javax.xml.transform.Result'. ¿Me estoy perdiendo de algo? –

+0

Necesita un código fuente completo para todas las clases/interfaces/anotaciones a las que se hace referencia desde las fuentes. También copie la fuente para 'javax.xml.transform.Result'. –

+0

Gracias - Copié todo desde javax.xml.bind pero necesitaba limitarlo a mis dependencias. ¿Estás usando esto para analizar xml o algo diferente? Estoy tratando de analizar XML y cómo tengo problemas de dependencia si deshace el lado del servidor (dificultades para serializar la clase jaxb) o el lado del cliente (más problemas de dependencia). –

1

He utilizado esta biblioteca para hacer el análisis sintáctico jaxb desde el interior de un cliente GWT

http://code.google.com/p/gwtjaxb/

No es un generador completo JAXB, pero cubre todo lo que necesito.

0

que era capaz de resolver mis problemas compilador GWT mediante la exclusión de la generada JAXB ObjectFactory de la fuente en el módulo de GWT XML:.

<source path="model"> 
    <exclude name="**/ObjectFactory.*" /> 
</source> 
Cuestiones relacionadas