Importer un projet Maven dans Eclipse depuis Git

Comment puis-je choisir d’importer à la fois de Maven et de Git et d’avoir correctement généré Eclipse?

Pour que mon projet entre dans Eclipse, je peux choisir Fichier-> Importer-> Maven, puis tous les projets Maven importés et construire correctement, ou je peux choisir Fichier-> Importer-> Git et créer un nouveau projet qui ignore le pom .xml et ne génère pas correctement le projet.

Il semble que je puisse faire l’un ou l’autre mais ne pas combiner les deux pour obtenir un projet correctement généré.

Eclipse Indigo + M2Eclipse 1.0 le rend très facile.

Si vous ne possédez pas déjà le connecteur Git pour M2Eclipse, installez-le. M2Eclipse vous aidera en vous invitant dans le menu Importer.

  1. Sélectionnez le menu contextuel “Importer …” dans la vue Explorateur de packages.
  2. Sélectionnez l’option “Extraire les projets Maven de SCM” dans la catégorie Maven
  3. Sur la fenêtre présentée, choisissez le lien “Trouver plus de connecteurs SCM dans le m2e Marketplace
  4. Trouver un connecteur pour Git … installer … redémarrer

Notez que dans le champ de recherche, vous devrez peut-être entrer “EGit” au lieu de “Git” pour trouver le bon connecteur.

Cela fait, allez simplement dans le repository EGit, ouvrez le menu contextuel du répertoire de travail et sélectionnez “Importer les projets Maven …”.

Terminé!

Je voudrais effectuer un clone git via la ligne de commande (en dehors d’Eclipse), puis utiliser Fichier -> Importer … -> Projets Maven existants .

Vos projets seront compris comme utilisant Git et Maven. C’est le moyen le plus rapide et le plus fiable d’importer IMO.

A partir de cette écriture (mise à jour), une configuration de travail est la suivante:

  1. Eclipse 3.8 (site de mise à jour Eclipse Indigo)
  2. EGit 1.3.0 (site de mise à jour Eclipse Indigo)
  3. m2e 1.0.200 (site de mise à jour Eclipse Indigo)
  4. m2e-egit 0.14.0 (m2e marketplace lors de l’ajout d’un connecteur)

Testé sur Ubuntu Raring.

Vous pouvez certainement “Importer” -> “Maven” -> “Consulter les projets Maven à partir de SCM”, et c’est le moyen le plus rapide. Cependant, une telle importation directe ne vous permet pas de contrôler le nom du dossier de référentiel cloné. Vous feriez peut-être mieux de travailler à partir de la vue “Git Repository” et d’exécuter soit un “Clone from a Git Repository et d’append le clone à cette vue”, suivi d’un “Import Maven Projects” de ce clone; Le plus long moyen serait de faire votre clonage manuel puis “Ajouter un référentiel Git local existant à cette vue”, suivi à nouveau par un “Import Maven Projects”. Dans les deux cas, vous avez le contrôle total sur le dossier cloné.

Un dernier commentaire sur une question secondaire qui m’a fait pleurer de frustration. Pour autant que je sache, si le référentiel cloné se trouve à la racine de votre espace de travail Eclipse et que votre hiérarchie de fichiers de projet Maven a un POM à sa racine, l’importation de ce projet racine renommera le dossier cloné (avec le modèle choisi à [artefactId]). Sans changer la structure de votre projet et sans conserver les fichiers en dehors de votre espace de travail, vous pouvez facilement contourner ce problème en clonant sur un sous-sous-dossier du dossier de l’espace de travail.


Étape 1: Configuration d’Eclipse

Tout d’abord, vous aurez besoin de quelques plug-ins Eclipse installés. Utilisez donc la fonctionnalité d’installation du logiciel Eclipse IDE dans le menu déroulant Aide → Installer un nouveau logiciel , puis ajoutez un lien vers le site du logiciel disponible, puis installez-le.

  1. Plugin GIT (EGIT) – http://download.eclipse.org/egit/updates
  2. Eclipse Maven plugin (M2Eclipse) – http://download.eclipse.org/technology/m2e/releases
  3. Maven SCM Handler pour EGit (m2e-egit)

    Installer depuis le marché M2E (Paramètres → Maven → Découverte → Ouvrir le catalogue et rechercher “m2e-egit”)


Etape 2: Cloner le référentiel

Cloner (télécharger) vos projets Maven de Git

Découvrez les projets Maven non-éclipse de Git (Fichier → Importer → Maven → Extraire les projets Maven de SCM)

Fichier → Importer → Maven → Extraire les projets Maven de SCM

Maintenant, ajoutez le lien de votre repository git au champ URI SCM. Cliquez ensuite sur Suivant et terminez.

Je l’ai testé pour mon projet.

  1. Eclispe Indigo
  2. “Aide> Installer un nouveau logiciel” Activez / installez les plug-ins officiels Git sur “Eclipse Git Plugin ..” et installez le lot.
  3. Activer le connecteur Maven / EGit avec ces instructions Comment faire fonctionner git integration avec m2eclipse?
  4. Passez à la perspective Git Repository. Cliquez avec le bouton droit de la souris pour coller l’URL du projet git. Les parameters par défaut devraient tous fonctionner. Vous voudrez peut-être changer le dossier d’installation qu’il devine.
  5. Développez le référentiel cloné et faites un clic droit sur “Arbre de travail” et sélectionnez “Importer les projets Maven …”.
  6. Passez à la perspective Java. Faites un clic droit sur le projet et choisissez “Team> Share Project”. Sélectionnez “Git” et assurez-vous de cocher la case “Utiliser ou créer un référentiel dans le dossier parent du projet”.

Voici ma solution de contournement, il s’agit d’une solution à ces problèmes:

  • Vous ne pouvez pas installer m2e-egit (j’obtiens une erreur dans Juno)
  • La conversion d’un projet général (connecté à votre référentiel Git) en un projet Maven ne vous convient pas (l’étape de l’importation des projets Maven semble essentielle)
  • Importer des projets Maven depuis votre référentiel sur le système de fichiers ne montre pas le projet connecté à Git.

  1. Configurez votre référentiel Git dans la perspective Git Repository Exploring .
    • Passer à la perspective Java, Importer> Projets Maven existants
    • Accédez à votre vérification Git dans le système de fichiers, sélectionnez le répertoire contenant le fichier pom.xml. Terminer l’importation Vous remarquerez que ces projets ne sont pas connectés à Git. 🙁
    • Supprimez ces projets, mais NE PAS SUPPRIMER DE FILESYSTEM . Nous ne voulons pas que notre clone soit supprimé. Cette tâche laisse également le fichier .project derrière nous afin que nous puissions importer à l’étape suivante.
  2. Revenez à la perspective Exploration du référentiel Git .
    • Cliquez avec le bouton droit sur votre référentiel, Importer des projets …
    • Sélectionnez Importer des projets existants
    • Dans l’explorateur ci-dessous, accédez au répertoire contenant le fichier pom.xml (et le fichier .project) et sélectionnez-le, puis cliquez sur suivant.
    • Continuez à travers l’assistant.

Importez sans installer de connecteurs supplémentaires pour Mylyn:

  1. Affichage des Git Repositories ouverts (Fenêtre-> Afficher la vue-> Référentiels Git)
  2. Appuyez sur le bouton Clone a Git Repository et passez à toutes les étapes
  3. Dans le référentiel nouvellement créé, développez Working Directory , cliquez avec le bouton droit sur le dossier avec votre projet et sélectionnez Import Projects . Choisissez ensuite Import existing projects ou sélectionnez Import as general project . Si nécessaire après importation, cliquez avec le bouton droit sur votre projet et sélectionnez Configurer-> Convertir en projet Maven (et Maven-> Projet de mise à jour).

Vous devriez noter que mettre des métadonnées générées sous contrôle de version (laissez-le être git ou tout autre scm), ce n’est pas une très bonne idée s’il y a plus d’un développeur travaillant sur la base de code. Deux développeurs peuvent avoir une configuration de projet ou de classpath totalement différente. Juste comme un heads-up au cas où vous avez l’intention de partager le code à un moment donné …

J’ai un projet Maven avec trois sous-modules qui sont gérés en mode git. Je les mets en éclipse comme suit:

  1. J’ai enregistré le repository git avec eclipse en utilisant EGit
  2. J’ai importé les projets en tant que projets Maven existants
  3. Pour chaque projet, je suis allé à l’ équipe | Partager le projet .

Je préférerais importer des projets dans Eclipse en tant que projets maven plutôt que projet git . Cela permettra toujours de reconnaître le contenu du projet en tant que contenu git. Vous pouvez continuer à effectuer des opérations git à partir d’Eclipse. Comme vous l’avez mentionné, l’inverse n’est pas vrai.

La nature d’un projet dans Eclipse ne repose pas sur le SCM qui contient le projet, mais sur le type de projet (guerre, jar, etc.) qui est déterminé automatiquement lorsque le projet est importé en tant que projet maven.

J’hésiterais à enregistrer les métadonnées spécifiques à l’EDI SCM. Cela suppose beaucoup de choses – tous les développeurs utilisent le même IDE ou la même version de l’EDI, peut-être la même version de JDK / JRE, qu’ils continuent d’utiliser la même version tout au long du cycle de vie du projet, etc.

Ne pouvez-vous pas l’importer en tant que projet git, puis (si vous avez installé m2eclipse ), faites un clic droit sur le projet dans l’ Explorateur de packages > Maven > Enable Dependency Management ?

Après avoir vérifié ma twig dans Egit, je suis passé à la vue Java, puis j’ai utilisé Fichier -> Importer, Git -> Projets de Git, puis sélectionné le répertoire maven de niveau supérieur. C’était avec Eclipse Kepler.

Au lieu de générer en permanence des métadonnées de projet via la commande import-> maven, vous pouvez générer une fois les métadonnées de votre projet et les placer dans votre référentiel git avec le rest de votre code source. Après cela, utiliser la commande import-> git importera un projet compatible avec maven, en supposant que les outils maven soient installés.

Assurez-vous de placer dans le système de contrôle des sources tous les fichiers du répertoire du projet qui commencent par ‘.’ tels que .classpath et .project avec tout le contenu du répertoire .settings.