Pour un projet à l'œuvre, nous envisageons d'utiliser le plugin Maven pour Eclipse pour automatiser nos builds. À l'heure actuelle, la procédure est beaucoup plus compliquée qu'elle ne devrait l'être, et nous espérons que Maven simplifiera les choses en un seul clic.
Ma question est, existe-t-il un assistant ou un importateur automatique pour convertir un projet Java Eclipse existant en projet Maven, en utilisant le plugin Maven? Ou dois-je créer un nouveau projet Maven et copier manuellement sur tous les fichiers source, bibliothèques, etc.
Réponses:
Si vous souhaitez simplement créer un POM par défaut et activer les fonctionnalités de m2eclipse: je suppose donc que vous ne disposez pas actuellement d'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.xml par défaut:
Versions M2E plus récentes
Faites un clic droit sur Projet -> sous-menu Configurer -> Convertir en projet Maven
Versions M2E plus anciennes
Cliquez avec le bouton droit sur Projet -> sous-menu Maven -> Activer la gestion des dépendances.
Cela fera le nécessaire pour activer le plugin pour ce projet.
Pour répondre ' existe-t-il un importateur ou un assistant automatique? ': Pas que je sache de. L'utilisation de l'option ci-dessus vous permettra d'activer le plugin m2eclipse pour votre projet existant en évitant la copie manuelle. Vous devrez toujours configurer les dépendances et autres éléments dont vous avez besoin pour vous construire.
la source
À 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:
Voici les étapes détaillées des captures d'écran.
la source
J'avais le même problème et je voulais Mavenise tout l'espace de travail Eclipse contenant environ 60 projets Eclipse. Le faire manuellement nécessitait beaucoup de temps et les options alternatives n'étaient pas viables. Pour résoudre le problème, j'ai finalement créé un projet appelé eclipse-to-maven sur github. Comme eclipse ne dispose pas de toutes les informations nécessaires sur les dépendances, elle effectue les opérations suivantes:
Basé sur
<classpathentry/>
des éléments XML dans le fichier .classpath, il crée les dépendances sur un autre projet, identifie le fichier jar de la bibliothèque et en fonction de son nom (par exemple jakarta-oro-2.0.8.jar) identifie sa version. ActuellementartifactId
etgroupId
sont les mêmes que je n'ai pas pu trouver quelque chose qui pourrait me renvoyer l'ID de groupe Maven de la dépendance basée surartifactId
. Bien que ce ne soit pas une solution parfaite, il fournit un bon terrain pour accélérer la mavénisation.Il déplace tous les dossiers source selon la convention Maven (comme
src/main/java
)Comme les projets Eclipse ayant des noms avec des espaces sont difficiles à gérer dans un environnement Linux / Unix, il les renomme également avec des noms sans espaces.
Les fichiers pom.xml résultants contiennent les dépendances et la structure de base de pom. Vous devez ajouter manuellement les plugins Maven requis.
la source
.classpath
et.project
fichiers)? Pourriez-vous ajouter à votre réponse comment utiliser votre plugin pour maveniser un simple projet JavaSE - et quels seraient les changements réels dans la structure des répertoires?Cliquez avec le bouton droit sur le nom du projet> Configurer> Convertir en projet Maven> cliquez sur Terminer. Ici, vous allez ajouter quelques dépendances à télécharger et ajouter votre fichier jar attendu.
Cela créera un fichier pom.xml généré automatiquement. Ouvrez ce fichier au format xml dans votre éditeur d'éclipse. Après avoir construit la balise (
</build>
), ajoutez vos dépendances que vous pouvez copier à partir du site Web maven et ajoutez-les là. Vous êtes maintenant prêt à partir. Ces dépendances ajouteront automatiquement les fichiers jar requis.la source
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é depuis m2e 0.13.0: m2e 1.1+ et m2e-wtp 0.16.0+ peuvent désormais convertir les paramètres d'éclipse existants en configuration de plugin maven .En ce qui concerne la conversion des dépendances, vous pouvez essayer la fonctionnalité d'intégration JBoss Tools (JBT) 4.0 Maven, qui contient un assistant de conversion expérimental, connecté au 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 le peut), mais il devrait grandement aider à amorcer votre processus de conversion Maven.
Aussi, pour info, voici quelques idées pour améliorer le processus de conversion de m2e , le refactoring pour utiliser une mise en page Maven sera très probablement implémenté à l'avenir.
JBT 4.0 (nécessite Eclipse JavaEE Juno) peut être installé depuis http://download.jboss.org/jbosstools/updates/stable/juno/ ou depuis Eclipse Marketplace
la source
C'est nécessaire parce que, plus ou moins, lorsque nous importons un projet depuis 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 projet Maven.
projet général -> projet java cliquez droit 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 -> projet maven clic droit sur le projet, configurer -> convertir en projet maven Pour le moment, les dépendances maven lib ne sont toujours pas dans le chemin de génération. propriétés du projet, chemin de construction , ajouter une bibliothèque, ajouter des dépendances maven lib
Et attendez quelques secondes, lorsque les dépendances sont chargées, le projet est prêt!
la source
Il existe un programme en ligne de commande pour convertir tout projet Java en projet SBT / Maven.
Il résout tous les fichiers JAR et essaie de déterminer la version correcte en fonction de la somme de contrôle SHA, du chemin de classe ou du nom de fichier. Il essaie ensuite de compiler les sources jusqu'à ce qu'il trouve une configuration de travail. Des tâches personnalisées à exécuter par configuration de dépendance peuvent également être fournies.
https://bitbucket.org/mnyx/universalresolver
la source
Pour autant que je sache, il n'y a rien qui convertira automatiquement un projet Eclipse en projet Maven (c'est-à-dire modifier la mise en page, créer un POM, "générer" et le nourrir 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 assez de métadonnées pour rendre cela possible (c'est précisément le but du POM) et / ou pour produire un résultat décent.
Ce serait la meilleure option à mon avis. Créez un projet Maven, copiez / déplacez les sources, les ressources, les tests, testez les ressources dans leurs répertoires respectifs, déclarez les dépendances, etc.
la source
Pour convertir en Gradle est analogique en Maven:
Faites un clic droit sur Projet -> sous-menu Configurer -> Convertir en projet Gradle (STS)
la source