web-dev-qa-db-fra.com

Comment commencer avec STS et Gradle

Installation de STS 3.4.0.RELEASE (version la plus récente) basée sur Kepler et du package Gradle Support à partir des extensions de tableau de bord. Maintenant, j'aimerais créer un projet Spring MVC à partir de zéro, qui utilise Gradle comme outil de gestion de la construction et de la dépendance, au lieu de Maven.

Je commence par créer un projet Spring avec un modèle de projet Spring MVC, mais apparemment, il est basé sur Maven, et aucun écran de l'assistant ne permet de basculer le projet sur Gradle. Ainsi, après la création, je clique avec le bouton droit sur le projet et sélectionnez Configurer> Convertir en projet en dégradé. Cependant, contrairement à mes attentes, le projet garde toujours sa nature Maven. Les dépendances du projet appartiennent toujours à Maven, même si Gradle a activé la résolution des dépendances, le fichier pom.xml est toujours présent et il n’existe aucun fichier build.gradle à afficher. La console Eclipse signale une compilation réussie, qui, je crois, vient de Gradle: mais basée sur quoi ? Lorsque j'ouvre la vue Gradle Tasks, elle est vide. Si j'essaie de l'actualiser, un message indiquant que le modèle n'est pas encore disponible apparaît, juste avant de déclencher une nouvelle génération réussie. Ensuite, lorsque j'essaie de supprimer la nature Maven du projet, des erreurs commencent à apparaître, concernant des classes et des descripteurs de bibliothèque de balises qui ne sont plus trouvés. Je sélectionne Gradle> Refresh Dependencies dans le menu contextuel du projet, mais cela n’a aucun effet.

Je tente le contraire: créer un projet Gradle à partir de rien. Malheureusement, les modèles Gradle ne couvrent pas du tout les projets Spring, et l'ajout ultérieur de la nature Spring n'a aucun effet tangible. Je ne parviens pas non plus à trouver le moyen d'appliquer le modèle de projet Spring MVC à ce projet Gradle nouvellement créé.

Sur Internet, tout le monde parle de la puissance de la fonction d'importation du plug-in Gradle Eclipse et explique comment créer un projet Gradle en dehors de l'EDI, puis créer les fichiers nécessaires à Eclipse pour pouvoir importer le projet, puis l'importer. et être capable de développer en utilisant l'IDE. L'exemple de projet utilisé dans ces didacticiels n'est pas un projet Spring MVC. Je serais donc laissé à moi-même, car la création de la hiérarchie des répertoires et la configuration ultérieure sont concernées.

Je me demande donc: est-il possible de créer un projet Spring MVC avec Gradle à partir de STS, même possible en ce moment? Etant donné que STS, Spring et le plug-in Eclipse Gradle sont développés par le même fournisseur, vous pouvez parier que c'est le cas, car il semble une fonctionnalité de base qui ne manquerait presque pas, même dans une première version de l'intégration STS/Spring/Gradle outils. Alors, est-ce que j'ai raté quelque chose en essayant d'atteindre mon objectif? Et, au cas où cela ne serait pas possible, existe-t-il un autre moyen de créer un projet Spring MVC basé sur Gradle à partir de STS? Ou juste convertir correctement un basé sur Maven à Gradle?

20
Giulio Piancastelli

Cette question est ancienne et il n’y avait probablement pas de réponse satisfaisante à votre question, mais c’est le cas aujourd’hui.

Vous pouvez importer des versions basées sur les graduations de n’importe quel des guides de démarrage de spring.io

Pour importer ces projets plus facilement, vous aurez besoin d’une version récente de STS et de Gradle Tooling (par exemple, la version 3.5.1). Utilisez ensuite le menu "Importer le contenu de démarrage" Wizard du menu "Fichier >> Nouveau". L'assistant vous permet de rechercher les guides disponibles et d'importer leurs exemples de projets configurés en tant que maven ou dégradé. projets.

3
Kris

@ Giulio, vous ne pourriez pas exprimer mieux mes pensées à ce sujet.

Je peux lier une solution partielle ici: Gradle - Exemple de projet Web MVC Spring . Partiel parce que le projet créé ne ressemblera pas à un projet Spring dans STS, je crains donc de perdre quelque chose.

J'espère voir dans STS un moyen automatisé de créer un projet Spring utilisant Gradle dès que possible. En attendant, je compte sur Maven ...

2
bluish

Il n'y a pas de moyen direct de créer un projet Spring basé sur Gradle dans la version Eclipse-Kepler, mais il existe un moyen de contourner le problème. 

Créez un projet Spring basé sur Maven. Maintenant, allez dans le dossier qui contient le fichier 'pom.xml'. Exécutez la commande 'gradle init' (pour cela, vous devriez avoir installé gradle sur votre système). 

Après cela, désactivez Maven Nature dans le menu contextuel du projet (clic droit sur le projet> Maven> Désactiver Maven Nature). Maintenant, convertissez à nouveau ce projet en dégradé à partir du menu contextuel (clic droit sur le projet> Configurer> Convertir en projet dégradé)

Vous pouvez trouver toutes les tâches disponibles dans Gradle Tasks et toutes les dépendances présentes dans build.gradle.

2
Vaibhav Gupta