Bonjour,

je travaille sur Eclipse Galileo avec Maven.

J'ai les projets suivants :

1 projet-web : une application web

2 projet-services-api : api des services
3 projet-services : implementation des services

4 projet -components-api : api des composants
5 projet-components : implementation des composants


En toute rigeur, le projet web ne doit avoir une dependance qu'avec le projet services-api. A l'execution, les autres projets sont toutefois presents dans les librairies de l'application web.

Le projet services a une dependance avec services-api et components-api.


J'ai de grandes difficultes a savoir comment configurer le pom (et classpath?) de ces 5 projets afin que :
- dans Eclipse, au cours du dev, on ne puisse pas utiliser une classe d'une couche basse dans une couche superieure (ex: classe du projet Services dans le projet web)
- dans Eclipse, si on lance l'application web sur un serveur, l'application web fonctionne.
- dans Hudson ou en ligne de commande, que je puisse creer un build de mon application web via Maven et que le war inclut toutes les librairies necessaires.


J'ai l'impression que tout le monde doit avoir gere, ou a gerer ce genre de configuration...mais, meme apres de nombreuses lectures sur le web, ca ne m'apparait pas trivial.

Merci de votre aide!