2010-04-15 7 views
16

Dans notre projet, nous utilisons jaxb2-maven-plugin pour générer du code source Java à partir de XML Schema, ce qui entraîne que notre module Maven nécessite un répertoire de code source supplémentaire (dans notre cas target/generated/main/java). Jusqu'à présent, j'ai utilisé Eclipse et maven-eclipse-plugin pour importer tous les projets dans l'espace de travail Eclipse. Le plugin est (en quelque sorte) capable d'ajouter automatiquement le répertoire avec le code source généré au fichier .classpath d'Eclipse.Comment configurer IntelliJ IDEA et/ou Maven pour ajouter automatiquement des répertoires avec le code source Java généré à l'aide de jaxb2-maven-plugin?

Récemment j'essaie de passer à (jouer?) IntelliJ IDEA 9 (donc je suis un débutant dans cet environnement) et je l'ai remarqué que le répertoire source supplémentaire n'est pas ajouté pendant le processus d'importation d'IDEA ...

Puis-je configurer IDEA/Maven de façon à ce que l'importation de répertoire avec le code source généré soit automatique?

Répondre

24

La convention avec Maven est de générer du code dans target/generated-sources/<tool>, par exemple target/generated-sources/jaxb2

Suivre cette convention et IDEA ajoutera le dossier en tant que dossier source (voir IDEA-53198).

+1

Mais que faire si nous avons besoin de définir une valeur personnalisée? Que faire si le répertoire est également utilisé avec un autre outil faisant une autre phase? À l'heure actuelle, avec Eclipse, nous n'avons aucun problème, mais avec IDEA, nous le faisons. – dmatej

+0

@dmatej Il est possible de définir l'emplacement des sources générées. Voir l'option 'Generated sources folders' sur http://www.jetbrains.com/idea/webhelp/maven-importing.html – fnt

+0

Assurez-vous d'utiliser mvn idea: idée pour vous assurer que cela se produit après avoir ajouté le module plugin mvn à votre pom. –

1

Essayez avec maven-jaxb2-plugin. Si cela ne fonctionne pas, c'est un problème d'IDEA.

Dans Maven, vous pouvez ajouter de nouvelles racines sources par configuration. Les plugins Maven peuvent le faire par programmation. C'est à coup sûr le cas avec maven-jaxb2-plugin. Ensuite, si IDEA ne le reconnaît pas, alors c'est un problème de ce côté.

0

Vous pouvez utiliser le plugin Maven Build Helper. Il est situé à http://www.mojohaus.org/build-helper-maven-plugin/

Il permet de configurer des racines sources supplémentaires. Et l'intégration maven d'IntelliJ ajoutera la nouvelle racine source. Nous utilisons cette fonctionnalité dans plusieurs versions et cela fonctionne très bien. Testé avec vers. 13 d'IntelliJ IDEA.

2

Le code généré, utilisant jaxb2-maven-plugin, me manquait dans Intellij 2017.1 alors qu'Eclipse Neon le créait. Correction à partir du menu contextuel du module en sélectionnant 'Maven -> Générer les sources et mettre à jour les dossiers'.