2010-10-07 6 views
2

Je travaille sur un projet multi-modules avec m2eclipse. J'ai mis le maven à s'occuper de la résolution des dépendances de l'espace de travail. Mais quand je change, disons, le module de service, le changement n'est pas immédiatement visible sur les autres modules. Si je crée une nouvelle méthode dans la couche Service, elle n'est pas visible dans la couche WebApp. Parfois, même Run/maven installer et rafraîchir et Projet/propre et Maven/Mise à jour des dépendances ne fonctionne pas. Quelqu'un peut-il me donner une idée de ce problème?Les modifications dans les modules dépendants ne sont pas visibles dans les autres modules dans Maven Eclipse

Ma structure de projet ressemble comme suit:

module parent

<groupId>com.myproject</groupId> 
<artifactId>einvites-parent</artifactId> 
<modules> 
    <module>myproject-common</module> 
    <module>myproject-domain</module> 
    <module>myproject-service</module> 
    <module>myproject-web</module> 
</modules> 

module de service

<parent> 
    <artifactId>myproject-parent</artifactId> 
    <groupId>com.myproject</groupId> 
    <version>1.0</version> 
</parent> 
<groupId>com.myproject</groupId> 
<artifactId>myproject-service</artifactId> 

module web

<parent> 
    <artifactId>myproject-parent</artifactId> 
    <groupId>com.myproject</groupId> 
    <version>1.0</version> 
</parent> 
<groupId>com.myproject</groupId> 
<artifactId>myproject-web</artifactId> 
<version>1.0</version> 
<packaging>war</packaging> 
<name>myproject-web</name> 
<dependencies> 
    <dependency> 
     <groupId>com.myproject</groupId> 
     <artifactId>myproject-service</artifactId> 
     <version>1.0</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
</dependencies> 
+0

'Mais quand je fais le changement, disons, module de service, le changement ne soit pas visible sur les autres modules immédiatement. "Cela devrait fonctionner, et il le fait pour moi. Si vous pouvez fournir un pom permettant de reproduire le problème, je suggère de signaler un problème. –

+0

@Pascal Thivent Cela fonctionne aussi pour moi, mais je pense qu'au moment de la construction il doit construire le service avant de construire le web –

+0

@ org.lie.java: Pourquoi? C'est tout l'intérêt d'activer * la résolution de l'espace de travail *, Eclipse "perma compile" devrait rendre les choses transparentes pour vous. –

Répondre

0

Ceci est supposé fonctionner; et ça fait pour moi. Je ne sais pas vraiment si cela réglera le problème mais pourrait essayer de changer votre POM pour utiliser une version SNAPSHOT, par exemple 1.0-SNAPSHOT (vous devez utiliser les versions SNAPSHOT pour les modules en développement actif). Au fait, il y a beaucoup de choses inutiles et redondantes dans vos POMs. Ils devraient ressembler à ceci:

module de service

<project> 
    ... 
    <parent> 
    <artifactId>myproject-parent</artifactId> 
    <groupId>com.myproject</groupId> 
    <version>1.0-SNAPSHOT</version> 
    </parent> 
    <!--groupId>com.myproject</groupId--> <!-- no need, you inherit it --> 
    <artifactId>myproject-service</artifactId> 
    ... 
</project> 

module web

<project> 
    ... 
    <parent> 
    <artifactId>myproject-parent</artifactId> 
    <groupId>com.myproject</groupId> 
    <version>1.0-SNAPSHOT</version> 
    </parent> 
    <!--groupId>com.myproject</groupId--> <!-- no need, you inherit it --> 
    <artifactId>myproject-web</artifactId> 
    <!--version>1.0</version--> <!-- no need, you inherit it --> 
    <packaging>war</packaging> 
    <name>myproject-web</name> 
    <dependencies> 
    <dependency> 
     <groupId>${project.groupId}</groupId> <!-- use the built-in properties instead --> 
     <artifactId>myproject-service</artifactId> 
     <version>${project.version}</version> <!-- use the built-in properties instead --> 
     <!--type>jar</type--> <!-- no need, that's the default --> 
     <!--scope>compile</scope--> <!-- no need, that's the default --> 
    </dependency> 
    </dependencies> 
    ... 
</project> 
+0

J'ai changé la version en -SNAPSHOT et nettoyé le POM comme vous l'avez suggéré et redémarré et nettoyé tout. Maintenant, il semble fonctionner mais je ne suis pas sûr de savoir lequel a corrigé mon problème - nom de la version POM ou balises redondantes ou. Mais merci – chanokim

+0

@chanokim Je suis assez sûr que c'est la version, les tags redondants sont juste ... bien, redondants :) Mais content qu'il soit résolu. –

Questions connexes