Maven ne compile pas / cible Hibernate3 / généré sources
-
04-10-2019 - |
Question
Quelqu'un peut-il me dire comment configurer Maven pour elle aussi de compiler des sources à partir du répertoire de target/hibernate3/generated-sources
? Je l'ai déjà lu ce et d'autres postes, mais ils ne semblent pas pour résoudre mon problème (ce qui semble en effet trivial).
I ont utilisé la configuration de mise en veille prolongée approche ascendante pour cfg.xml, hbm.xml et génération POJO (à savoir générée automatiquement la configuration de mise en veille prolongée complète à partir d'un schéma de base de données existante). Je suis également que l'utilisation des dispositions de répertoire standard maven
et hibernate3-plugin
. Cependant, lors de l'exécution mvn compile
dans la ligne de commande alors que mes sources sont dans le src/main/java
et les sources générées dans /target/hibernate3/generated-sources
que ceux de src/main/java
obtenir compilés et copiés dans target/classes
. Je ne voudrais pas de générer des sources en src/main/java
que je voudrais mvn clean
pour les nettoyer.
Je voudrais résoudre le problème en utilisant command-line
, plugins
et pom.xml
seulement. Est-il un moyen de configurer maven-compiler-plugin
de le faire? Ou est-il un autre moyen?
Cordialement et merci pour toute aide.
La solution
La convention est de générer du code à target/generated-sources/<generator>
donc dans votre cas, je générer des sources target/generated-sources/hibernate3
(il est triste le plugin hibernate3 ne suit pas cette convention par défaut). Quoi qu'il en soit, les choses devraient fonctionner et en fait, le POM I posté dans cette réponse précédente fait (je re-couru mon exemple de projet et il fonctionne sans aucun doute). Pourriez-vous être victime de MHIBERNATE-104 ? Honnêtement, je suis confus.
Pour contourner ce problème, vous pouvez utiliser le Construire Aide Maven Plugin et son but build-helper:add-source
pour ajouter votre répertoire comme répertoire source. Voir la Utilisation page pour un exemple de configuration.
J'utilise exactement la pom vous propose ici, tout simplement pas branché sur le cycle de vie de construction par défaut (sans exécution).
Ce doit être la cause du problème: si hibernate3:hbm2java
ne fait pas partie du cycle de vie de construction, il ne reçoit pas la possibilité d'enregistrer le répertoire de sortie comme dossier source. Donc, Maven ne connaît pas pendant la « construction normale » et simplement l'ignorer.