J'ai un seul projet Maven qui contient les parties "core" et "web". J'essaie de le convertir en plusieurs modules.Dépendances auto-générées dans un projet multi-module Maven
J'ai pris les paquets "web" et les ai mis dans le nouveau projet. J'ai ajouté le projet de base en tant que dépendance et je peux référencer ses classes dans Eclipse. Le projet "core" apparaît correctement dans WEB-INF\lib
dans le projet "web" lorsque je le construis.
Le problème survient lorsque les classes du projet "core" sont @Autowired
dans le projet "web".
Dans ce cas particulier, je crée automatiquement une classe de service de "core" dans l'une des classes de service Web du projet "web". Si j'ajoute le package que le service principal est dans mon context:component-scan
dans ma configuration d'application "web", il trouve ce service, mais le service fait référence à un référentiel, qui référence une entité, qui recherche une fabrique de gestionnaire d'entités que je J'ai été configuré dans mon contexte d'application dans mon projet "core".
Donc, il semble que peut-être le context:component-scan
dans le projet "de base" ne se produit peut-être pas? Ou peut-être que les cours qui sont récupérés ne sont pas mis à la disposition du projet "web"? Je suis entièrement nouveau dans les projets multi-modules, donc si quelqu'un peut me mettre dans la bonne direction pour résoudre ce problème, je l'apprécierais énormément. J'utilise m2e dans Eclipse avec le plugin Run Jetty Run si cela est important; Cependant, je semble avoir les mêmes problèmes quand je fais un mvn jetty:run
à partir de la ligne de commande.
Merci pour la réponse. Cela semble fonctionner. Encore une question rapide si cela ne vous dérange pas ... Est-ce la solution généralement acceptée pour ce type de modularisation? La seule raison pour laquelle je demande est parce que si je devais distribuer mon projet "de base", quelqu'un devrait connaître au moins le nom de mon contexte d'application afin de le faire fonctionner correctement. Ce n'est pas un problème dans mon cas parce que tout cela est interne, mais j'aimerais le faire de la manière la moins fragile. Existe-t-il une convention de dénomination particulière pour les contextes d'application qui devraient être chargés dans d'autres modules? – Luke
Vous ne savez pas si j'exporterais le contexte de l'application. Il serait peut-être préférable de donner un bon exemple de la façon de créer un tel contexte avec les principaux services exposés par votre bibliothèque centrale et de laisser le consommateur le gérer. Ceci, avec une API clairement documentée, devrait faire l'affaire à mon avis. –
Super! Merci encore. – Luke