Dans mon projet Eclipse, j'utilise un processeur d'annotation tiers, le Hibernate Metamodel Generator pour être exact. Le processeur d'annotation fonctionne comme prévu et génère les fichiers .java spécifiés par la spécification. Ces fichiers sont générés dans le répertoire du projet Eclipse sous un dossier "gen". Dans les propriétés du projet, ceci est correctement reflété puisque deux dossiers sources existent - "src" et "gen". Cependant, lorsque le projet est construit pour une raison quelconque, toutes les sources [générées] sous "gen" ne sont pas compilées (en vérifiant le répertoire "bin", je ne vois que les fichiers .class du répertoire "src"). Est-ce que quelqu'un sait pourquoi cela se passe?Pourquoi les classes générées par APT ne sont-elles pas compilées par Eclipse?
Répondre
Je l'ai compris il y a un certain temps et je pensais que je reviendrais et expliquerais ce qui se passe. Lorsque le compilateur est exécuté, il compile les sources existantes (celles que j'ai écrites), puis génère des fichiers source à partir des fichiers source existants, mais il ne compile pas ces classes générées. J'ai fini par transformer ceci en projet Ant (selon la configuration instructions). Donc, en gros, j'avais deux tâches: d'abord générer de nouveaux fichiers sources (lancer javac avec l'option -proc:only
provoque le traitement des annotations sans compiler les sources) et la seconde compiler toutes les sources (générées et existantes).
Vous devrez actualiser le dossier "gen" dans Eclipse (par exemple dans l'Explorateur de packages) afin qu'Eclipse puisse voir les nouveaux fichiers générés et les compiler. Est-ce que tu fais ça?
oui, la première chose que j'ai essayé. la chose étrange est l'éclipse dit qu'il ne reconnaît pas ces fichiers quand j'essaie de les utiliser (ligne rouge squiggly et un message sous la vue des problèmes), mais quand je me débarrasse du code qui les utilise et essaie d'utiliser auto-compléter montre les classes générées en option. J'ai également essayé de nettoyer puis de reconstruire le projet. J'ai l'impression que ces fichiers java sont générés au mauvais moment, car tout d'abord sous src est compilé en bin, puis les fichiers .java sont générés sous gen. Je ne sais pas si je peux vérifier cela très facilement – Andrey
- 1. Pourquoi ne pas utiliser les classes générées par EF dans les grands projets?
- 2. Les classes générées par xsd.exe ne sérialisent pas les attributs de valeur par défaut
- 3. Préfixage des classes générées par JAXB
- 4. Utilisez-vous directement les classes générées par LINQ?
- 5. Sérialisation sélective avec les classes générées par SubSonic
- 6. Comment emballer les classes générées Maven 2 par Cobertura?
- 7. Les classes POCO sont-elles générées par LINQ?
- 8. C# 4.0/EF - Les clés générées par le serveur et les valeurs générées par le serveur ne sont pas prises en charge par SQL Server Compact
- 9. Appel des propriétés de sous-classes dans les classes générées par le code (via xsd.exe)
- 10. Voir les requêtes générées par EF4?
- 11. Comment générer plusieurs versions de classes Java générées par JAXB?
- 12. Comment stocker les clés générées par DSACryptoServiceProvider?
- 13. La valeur par défaut DisplayTemplates vues de ASP.NET-MVC2 ne sont pas compilées
- 14. bibliothèques de liens compilées par divers compilateurs
- 15. Maven: les classes Java ne sont pas compilées après la tâche Ant
- 16. Marquer les classes exportées dans Eclipse pour ne pas modifier
- 17. Eclipse PDT 2.2.0 ne suit pas les classes Symfony
- 18. Quelles exceptions peuvent être générées par XmlSerializer?
- 19. Problème de mappage avec les classes générées par Dozer et JAX-WS
- 20. Problème avec la désérialisation XML dans les classes générées par XSD
- 21. Pourquoi les classes de modèle Doctrine générées à partir de 'A', 'B' causent un plantage, mais celles commençant par 'X' ou 'Z' ne le font pas
- 22. fonctions statiques ou non statiques dans les classes générées par doctrine, symfony 1.4?
- 23. Taille des bibliothèques statiques générées par Xcode
- 24. Débarrassez-vous de JAXBElement dans les classes générées par wsimport appelé depuis ant
- 25. Lit le code XML dans les classes générées par xsd.exe. Bonne idée?
- 26. Classes d'exceptions générées avec Axis2
- 27. Les pages asp.net sont-elles compilées par page ou par dossier?
- 28. Ignorer les champs des vues MVC générées par l'assistant
- 29. Pourquoi mes classes linq to sql générées n'ont-elles pas OnCreated()
- 30. Comment obtenir Eclipse pour résoudre les classes générées avec Maven 2?
J'ai eu les mêmes problèmes avec Eclipse 3.5, mise à jour vers la version 3.6. – junkdog