Convertir le projet Eclipse existant en projet Maven

pour un projet au travail, nous envisageons d'utiliser le plugin Maven pour Eclipse pour automatiser nos constructions. En ce moment, la procédure est beaucoup plus compliquée qu'elle ne devrait l'être, et nous espérons que Maven simplifiera les choses pour une construction en un seul clic.

ma question Est, y a-t-il un assistant ou un importateur automatique pour convertir un projet Java Eclipse existant en un projet Maven, en utilisant le plugin Maven? Ou devrais-je créer un nouveau projet Maven et copier manuellement tous source des fichiers, bibliothèques, etc.

231
demandé sur Roman C 2010-03-15 21:23:15

9 réponses

si vous voulez juste créer un POM par défaut et activer les fonctionnalités m2eclipse: donc je suppose que vous n'avez pas actuellement une configuration de construction automatisée alternative que vous essayez d'importer, et je suppose que vous parlez du plugin m2eclipse.

le plugin m2eclipse fournit une option de clic droit sur un projet pour ajouter ce pom par défaut.xml:

nouvelles versions de M2E

clic droit sur le projet -> sous-menu Configurer - > convertir en projet Maven

anciennes versions de M2E

clic droit sur le projet -> sous-menu Maven - > gestion des dépendances.

qui fera le nécessaire pour activer le plugin pour ce projet.



À répondre est-il automatique de l'importateur ou de l'assistant? ': pas que je sache. L'utilisation de l'option ci-dessus vous permettra d'activer le plugin m2eclipse pour votre projet existant en évitant la copie manuelle. Vous aurez toujours besoin de mettre en place les dépendances et autres choses dont vous avez besoin pour vous construire.

133
répondu brabster 2016-06-09 18:41:00

à partir de m2e 0.13.0 (si pas plus tôt que), vous pouvez convertir un projet Java en projet Maven à partir du menu contextuel. Voici comment:

  • clic droit sur le projet Java pour faire apparaître le menu contextuel
  • sélectionner configurer > convertir en projet Maven

, Voici le étapes détaillées avec des captures d'écran.

289
répondu chengdong 2017-04-05 10:45:21

j'avais le même problème et j'ai voulu mettre en scène tout l'espace de travail eclipse contenant environ 60 projets Eclipse. Pour ce faire manuellement, il a fallu beaucoup de temps et les solutions de rechange n'étaient pas viables. Pour résoudre le problème j'ai finalement créé un projet appelé eclipse-à-maven sur github. Comme eclipse n'a pas toutes les informations nécessaires sur les dépendances, il fait ce qui suit:

  • basé sur <classpathentry/> Les éléments XML .classpath file, il crée les dépendances d'un autre projet, identifie le fichier JAR de la bibliothèque et se base sur son nom (par exemple jakarta-oro-2.0.8.jar) identifie sa version. Actuellement artifactId et groupId sont les mêmes que je n'ai pas pu trouver quelque chose qui pourrait me rendre le groupe Maven de la dépendance basée sur artifactId . Bien que cette solution ne soit pas parfaite, elle offre un bon terrain pour accélérer la Mavenisation.

  • il déplace tous les dossiers source selon la convention Maven (comme src/main/java )

  • comme les projets D'éclipse ayant des noms avec des espaces sont difficiles à traiter sur L'environnement Linux/Unix, il les renomme aussi bien avec des noms sans espaces.

  • resulting pom.les fichiers xml contiennent les dépendances et la structure de base de la pom. Vous devez ajouter les plugins Maven nécessaires manuellement.

11
répondu ShriKant Vashishtha 2012-04-12 11:07:16

clic droit sur le nom du projet > configurer > convertir en projet Maven > cliquer terminer. Ici vous ajouterez quelques dépendances pour télécharger et ajouter votre fichier JAR attendu.

cela créera un pom généré automatiquement.fichier xml. Ouvrez ce fichier au format xml dans votre éditeur eclipse. Après la balise de compilation ( </build> ), ajoutez vos dépendances que vous pouvez copier à partir du site web maven et ajoutez-les là. Maintenant, vous êtes bon pour aller. Ces dépendances ajouteront automatiquement votre les fichiers jar requis.

7
répondu Omar Faroque Anik 2014-06-11 21:40:22

la réponse de Chengdong est correcte, vous devez utiliser Configure>Convert to Maven Project . Cependant, je dois ajouter que le processus de conversion a été considérablement améliorée depuis m2e 0.13.0 : m2e 1.1+ et m2e-wtp 0.16.0+ peut maintenant convertir les paramètres existants eclipse en configuration de plugin maven .

en ce qui concerne la question de la conversion de dépendances, vous pouvez essayer la fonctionnalité d'intégration JBoss Tools (JBT) 4.0 Maven, qui contient un assistant de conversion expérimental, branché sur processus de conversion de m2e: http://docs.jboss.org/tools/whatsnew/maven/maven-news-4.0.0.Beta1.html .

il ne prétend pas être la solution ultime (rien ne peut), être il devrait grandement aider bootstrap votre processus de conversion Maven.

aussi, FYI, voici quelques idées pour améliorer le processus de conversion de m2e , le remaniement pour utiliser une mise en page Maven sera très probablement mis en œuvre à l'avenir.

JBT 4.0 (nécessite Eclipse JavaEE Juno) peut être installé à partir de http://download.jboss.org/jbosstools/updates/stable/juno / or from the Eclipse Marketplace

5
répondu Fred Bricon 2012-12-17 14:31:16

c'est nécessaire parce que, plus ou moins, quand nous importons un projet de git, ce n'est pas un projet maven, donc les dépendances maven ne sont pas dans le chemin de construction.

voici ce que j'ai fait pour transformer un projet général en un projet maven.

projet général-->projet java cliquez avec le bouton droit de la souris sur le Projet, Propriétés->facettes du projet, cliquez sur "java". Cette étape transformera un projet général en projet java.

projet java --> maven projet clic droit sur le projet, configurer-- > convertir en projet maven Pour le moment, maven dependencies lib n'est toujours pas dans le chemin de compilation. propriétés du projet, construire un chemin d'accès ajouter une bibliothèque, ajouter des dépendances maven lib

Et attendez quelques secondes, lorsque les dépendances sont chargés, le projet est prêt!

4
répondu moonshang 2014-07-14 18:54:54

il y a un programme en ligne de commande pour convertir n'importe quel projet Java en un projet SBT/Maven.

il résout tous les pots et tente de comprendre la version correcte basée sur SHA checksum, classpath ou filename. Puis il essaie de compiler les sources jusqu'à ce qu'il trouve une configuration de travail. Les tâches personnalisées pour exécuter la configuration par dépendance peuvent aussi être données.

UniversalResolver 1.0
Usage: UniversalResolver [options]

  -s <srcpath1>,<srcpath2>... | --srcPaths <srcpath1>,<srcpath2>...
        required src paths to include
  -j <jar1>,<jar2>... | --jars <jar1>,<jar2>...
        required jars/jar paths to include
  -t /path/To/Dir | --testDirectory /path/To/Dir
        required directory where test configurations will be stored
  -a <task1>,<task2>... | --sbt-tasks <task1>,<task2>...
        SBT Tasks to be executed. i.e. compile
  -d /path/To/dependencyFile.json | --dependencyFile /path/To/dependencyFile.json
        optional file where the dependency buffer will be stored
  -l | --search
        load and search dependencies from remote repositories
  -g | --generateConfigurations
        generate dependency configurations
  -c <value> | --findByNameCount <value>
        number of dependencies to resolve by class name per jar

https://bitbucket.org/mnyx/universalresolver

2
répondu Alex 2015-07-26 20:24:56

Pour la conversion à l'Gradle est analogue à Maven:

clic droit sur le projet -> sous-menu Configurer - > convertir en Grad (STS) projet

2
répondu another 2017-01-31 22:58:35

ma question Est, y a-t-il un assistant ou un importateur automatique pour convertir un projet Java Eclipse existant en un projet Maven, en utilisant le plugin Maven?

pour autant que je sache, il n'y a rien qui convertisse automatiquement un projet Eclipse en un projet Maven (c'est-à-dire modifier la mise en page, Créer un POM," générer " et l'alimenter avec des métadonnées, détecter les bibliothèques et leurs versions pour les ajouter au POM, etc). Eclipse n'a tout simplement pas suffisamment de métadonnées pour rendre cela possible (c'est précisément le point de la POM) et/ou pour produire un résultat décent.

ou devrais-je créer un nouveau projet Maven et copier manuellement tous les fichiers source, libs, etc

Qui serait la meilleure option à mon avis. Créer un projet Maven, copier / déplacer des sources, des ressources, des tests, tester des ressources dans leurs répertoires respectifs, déclarer dépendances, etc.

1
répondu Pascal Thivent 2012-04-25 08:30:18