Bonjour,
J'utilise Maven 2 pour automatiser le développement de projet Java et aussi de développement de projet de plugin pour eclipse.
Dans ce dernier cas, tout à l'air de fonctionner parfaitement :
- gestion des dépendances [OK]
- génération des descripteurs (.project, .classpath) [OK]
- mise à jour du manifeste [OK]
- lancement du plugin (en debug ou non) depuis eclipse [OK]
Mon souci concerne l'assistant d'exportation d'eclipse qui ne prend pas en compte les dépendances, ce qui implique une erreur de compilation pendant l'export (visible dans les logs) et le plugin une fois exporter ne comporte aucune des librairies dont il dépend, même (et surtout) en les sélectionnant dans la page de génération (génération binaire).
Pourtant les dépendances sont bien résolue pendant le lancement depuis eclipse et en débug aussi.
Ma configuration est la suivante :
- Eclipse 3.2.0
- Maven 2.0.4
- maven-eclipse-plugin 2.3
L'organisation de mon projet est comme suit :
- projet monprojet, projet racine (type POM pour maven) contenant les 2 projets ci dessous comme modules,
- projet monprojet-core, projet Java pure contenant le code indépendant de l'IHM est de l'environnement eclipse,
- projet monprojet-plugin, projet de plugin eclipse, dépendant du projet monprojet-core et servant d'interface utilisateur intégré dans eclipse.
J'ai mis du temps a comprendre que le maven-eclipse-plugin ajoute les dépendances décrite dans le pom sous forme de linkedResources dans le fichier .project, alors qu'elle sont visible en tant que librairies à la racine du projet dans eclipse comme si elles avaient été copiée dans le projet.
Elles ont donc un chemin logique (./<dependance>-<version>.jar) à la racine du projet de plugin ET un chemin réel dans le repository maven.
Est-ce un bug eclipse qui ne prend pas en compte les linkedResources ou leur lien réel et considère leur lien logique (c'est à dire la racine du projet) ?
Existe-t-il une case à cocher dans un coin qui m'est encore inconnu ?
Bien entendu je suis ouvert à tout autre alternative.
L'impératif est bien de permettre une construction de mon plugin eclipse par Maven avant eclipse.
Cordialement,
Guillaume W.
Partager