J'ai un projet maven dans eclipse et j'ai des objectifs maven qui exécutent des processeurs d'annotation pour générer du code. Le dossier de sortie de ce code est target / generated-sources / apt.
Pour qu'eclipse puisse voir ce code généré, je dois ajouter target / generated-sources / apt en tant que dossier source au projet eclipse.
Cependant, cela provoque une erreur de type "Problème de configuration Maven" disant
La configuration du projet n'est pas à jour avec pom.xml. Exécuter la mise à jour de la configuration du projet
Je pense que je comprends pourquoi c'est le cas car eclipse a un ensemble de dossiers source différent de celui de maven. Mais j'ai besoin de cet ensemble différent, car j'ai besoin d'éclipse pour pouvoir voir les dossiers source générés ...
Lorsque vous faites une compilation pure maven, ces dossiers sources seront inclus dans la construction, par maven.
btw, j'ai mis à niveau vers la version officielle eclipse du plugin maven eclipse, m2e 1.0 - ce qui était auparavant m2eclipse. J'aimerais voir si je peux trouver une solution / contournement à cela avec le plugin m2e avant de devoir revenir à l'ancienne version m2eclipse.
m2e connector for build-helper-maven-plugin
est installé dans Eclipsebuild-helper-maven-plugin
avec<version>
spécifié comme3.2.0
(le dernier en date de la rédaction), il n'est pas nécessaire d'utiliser Apt M2E Connector. Je travaille actuellement sur Eclipse IDE 2020-06, en utilisant Maven 3.6.3 intégré dans Eclipse, et nos problèmes avec le dossier source ayant des exclusions (**) ont disparu après avoir tenté d'ajouter les chemins de répertoire des dossiers source. Maintenant, les inclusions ont toutes (** / *. java) en eux.Cliquez avec le bouton droit sur le message d'erreur:
dans la vue Problèmes et sélectionnez Correction rapide et cliquez sur Terminer pour sélectionner la configuration de projet de mise à jour par défaut . Cela le corrige.
la source
Après avoir basculé vers de nouvelles versions de m2e / maven / apt, ... j'avais des builderrors à cause des fichiers dupliqués, causés par le chemin de construction ajouté par le buildhelper, donc j'ai dû supprimer les dossiers "apt-generated" de buildhelper.
Pour résoudre le problème dans Eclipse, sans ajouter le dossier "généré par apt" via la mise à jour de la configuration Maven dans M2E, j'ai écrit un plugin M2E pour résoudre ce problème. Il ajoute les outputDirectories configurés dans le maven-apt-plugin au chemin de construction du projet.
https://apt-m2e.googlecode.com
la source
Dans m2e 1.0, la gestion des plugins Maven a changé. Il vous manque peut-être une extension m2e spécifique pour votre plugin de génération de code. Voici toute la documentation que j'ai réussi à trouver.
Ce rapport de bogue peut également être pertinent.
la source
https://bugs.eclipse.org/bugs/show_bug.cgi?id=350081
demande sur CXF JIRA (voir 1 ) pour ajouter des mappages de cycle de vie dans le cxf-codegen-plugin lui-même. Cela nécessiterait m2e 1.1, mais je pense que c'est une meilleure approche que d'avoir des connecteurs construits en dehors du projet cxf, en supposant que l'API de cartographie du cycle de vie changerait moins fréquemment que cxf-codegen-plugin et cxf.
la source
Vous pouvez également utiliser le connecteur buildhelper m2e disponible dans le catalogue de découverte. J'utilise Eclipse 3.7
la source
Eclipse Java EE IDE pour les développeurs Web. Version: Juno Service Release 1
fonctionne parfaitement.
Mais dans eclipse, j'ai la même erreur sur la classe Asinc.
Appuyez simplement sur F5 sur le projet. Résolvez ce problème.
la source
C'est ce que j'ai trouvé qui fonctionnait bien en utilisant le printemps 3.1.1 qui contient également la version 3.0.6. Une fois que j'ai configuré les plugins et mis dans la bonne zone du pom et inclus l'argline et les endossedirs pour que les sources java soient placées dans le dossier target / generated-sources / cxf, maven a généré les sources ok.
....
Si votre dossier wsdl est dans $ {basedir} / src / main / resources, il le trouvera automatiquement
J'espère que cela t'aides! ~ wildbill
la source
Dans le cas où, pour une raison quelconque, vous ne pouvez pas utiliser le plugin d'aide à la construction, le moyen le plus simple (mais pas aussi pratique et quelque peu fastidieux), j'ai trouvé que pour résoudre ce problème, c'est:
mvn install
. Actualisez maintenant le projet parent en faisant un clic droit et en sélectionnant Maven-> Mettre à jour le projet ...Cela fonctionne généralement bien pour les projets qui utilisent une source semi-statique pour la génération de code comme les WSDL SOAP (Apache CXF) ou le code généré à partir d'une base de données (jOOQ). Pour APT et d'autres codes de type AspectJ, cela ne fonctionne pas aussi bien car vous modifiez fréquemment la source.
la source
la configuration du plugin d'aide à la construction a fonctionné pour nous.
mais sachez que le dossier de destination doit toujours être égal à la configuration du plugin que vous utilisez pour le traitement des annotations lui-même.
par exemple, maven-processor-plugin utilise le dossier cible $ {project.build.directory} / generated-sources / apt par défaut. si vous souhaitez une autre destination pour vos fichiers source générés, vous pouvez la définir par la balise comme indiqué ci-dessous.
la source
Voici la solution
la source