J'essaie de générer des classes Java à partir de l'exemple xsd en utilisant la commande jdk 1.6, xjc. Mais je ne veux pas utiliser d'annotations, c'est-à-dire que je ne veux pas générer de classes Java pour contenir des annotations. Comment puis-je le faire?JAXB génère des classes Java sans annotations
Répondre
En JAXB (JSR-222), la seule représentation standard des métadonnées de liaison XML définies dans la norme est les annotations JAXB. Par conséquent, une option pour générer les classes sans ces annotations est d'utilisation limitée.
Je suis le EclipseLink JAXB (MOXy) mener une nous offrons une représentation XML (et JSON) des métadonnées JAXB comme une extension:
- XML - http://blog.bdoughan.com/2010/12/extending-jaxb-representing-annotations.html
- JSON - http://blog.bdoughan.com/2012/04/extending-jaxb-representing-metadata-as.html
Si vous êtes intéressé par la possibilité de générer ces métadonnées à la place des annotations, veuillez demander une amélioration dans notre base de données de bogues par rapport au composant MOXy:
Cette question comporte deux parties:
- Au moment de la compilation vous devez générer votre code différemment. Vous pouvez écrire un plugin XJC pour le faire.
- Dans l'exécution, vous devez utiliser l'implémentation JAXB qui fonctionne sans annotations (voir la réponse de Blaise sur cette partie).
Voir cette question sur XJC extensibilité:
Vous pouvez écrire un XJC plugin qui remplace complètement la génération de code. Je peux donc imaginer un plugin XJC qui génère des mappages XML pour MOXy au lieu d'annotations dans les classes. Vous pouvez également le faire avec JAXB RI en utilisant un lecteur d'annotation supplémentaire, mais il est beaucoup plus délicat de simplement utiliser MOXy.
Soyez averti, cependant, que l'écriture des plugins XJC avancés peut être assez complexe.
- 1. annotations JAXB pour les classes d'attributs groovy
- 2. Classe de base sérialisante sans annotations jaxb
- 3. JaxB analyse automatique de classes XML à Java
- 4. XML Binding avec annotations JAXB
- 5. annotations JAXB pour énumérations
- 6. Hiérarchie des classes générées automatiquement par JAXB
- 7. Préfixage des classes générées par JAXB
- 8. maven plugin - jaxb - Créer des classes JAXB
- 9. Annotations JAXB XmlID et XmlIDREF (Schema to Java)
- 10. JAXB, annotations pour setter/getter
- 11. JAXB ne génère pas toutes les classes d'éléments
- 12. Utilisation des annotations JAXB avec RestEasy
- 13. JAXB contraintes XML, à l'aide des annotations
- 14. JAXB: utilise local schemaLocation pour générer des classes Java
- 15. SQLMetal génère des classes mais pas des constructeurs sans paramètres
- 16. Les classes de domaine reçoivent-elles généralement des annotations JPA ou JAXB ou les deux?
- 17. JAXB conversion XSD aux classes Java
- 18. JAXB: comment dire si une classe est Marshalable sans annotations
- 19. Utilisation de POJO avec des classes imbriquées avec des annotations JAXB et Solr
- 20. Génération de classes JAXB avec des noms de classes personnalisées
- 21. Produire des classes java à partir du fichier xsd - JAXB
- 22. JAXB: définition de complexTypes pour utiliser des classes Java existantes
- 23. JAXB Java EE génère une classe d'entité à partir du schéma
- 24. XJC ne génère pas de classes * .java
- 25. annotations jaxb pour verbeux OTA XML
- 26. Création de classes JAXB de xml sans schéma
- 27. JAXB - Génère un schéma. Attribut personnalisé Complex Type
- 28. JAXB ne génère pas l'attribut de la classe java
- 29. annotations JAXB - Liste Marshall <String[]>
- 30. Comment générer des classes jaxb à partir de xsd en utilisant gradle, jaxb et xjc, les classes devraient avoir XmlRootElement
hi sampath pouvait obtenir le code généré sans annotations? Je suis également à la recherche d'une réponse à exactement le même problème. – weima