Question

J'ai un projet Java composé de 3 sous-projets qui génèrent chacun un artefact .jar (et qui comportent des sous-dépendances). De plus, il existe un projet Web qui dépend des 3 premiers projets et génère un fichier war. Le fichier de guerre est mon dernier artefact, c’est-à-dire ce que j’envoie à mes clients.

De plus, j'ai un module parent qui englobe tous les autres projets:

<modules>
    <module>../core</module>
    <module>../commons</module>
    <module>../api</module>
    <module>../web</module>
</modules>

Je génère des fichiers eclipse (mvn eclipse: eclipse) et travaille avec eclipse. Le problème est que si je modifie l'un des projets non Web, je dois l'installer manuellement avant de déployer le projet Web sur mon conteneur Web. Comment puis-je faire en sorte que le projet Web dépend directement du code source des autres et non de la version installée dans le référentiel?

Était-ce utile?

La solution

Dans les propriétés de votre application Web (cliquez avec le bouton droit de la souris sur le projet dans l'explorateur de packages, puis sur "propriétés"), ajoutez les trois modules (core, commons et api) dans les "Dépendances de modules J2EE". (les autres modules doivent être ouverts dans l'espace de travail Eclipse).

Autres conseils

Souhaitez-vous ajouter une dépendance aux fichiers JAR source déployés dans le référentiel?

Si tel est le cas, vous pouvez le faire en ajoutant le classifieur sources à la dépendance. Voir cette réponse pour plus de détails.

Si non, pouvez-vous préciser davantage s'il vous plaît.

Je pense que votre problème est que vous ne faites que construire le projet de guerre. Si vous le créez à partir de la ligne de commande, vous devez créer le module parent. " paquet mvn " dans le répertoire qui contient le module parent devrait suffire. Bien sûr, cela signifie que vous devez construire tous les packages à chaque fois, mais c’est ainsi que fonctionne maven.

L’objectif de dépendance: arbre en tant que tel examinera les choses dans le référentiel plutôt que dans le réacteur. Vous pouvez contourner ce problème en installant mvn, comme suggéré précédemment, ou en effectuant quelque chose de moins onéreux qui appelle le réacteur, tel que

.
  

dépendance à la compilation mvn: arbre

Fonctionne pour moi.

Edit: D'oh! Posté cette réponse à la mauvaise question. Répondait à this

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top