383 votes

Comment ouvrir et modifier plusieurs projets dans la même fenêtre ?

Je construis en maven plusieurs projets (appelés A, B, C). Le projet A utilise le .jar du projet B qui utilise le .jar du projet C.

Je suis en train de modifier le code de tous les projets A/B/C (A est une application MVC, B sont des services métier et C est une couche partagée).

Le problème est que dans Eclipse/NetBeans je peux les voir tous en même temps et c'est confortable pour les modifier. En revanche, dans IDEA, je dois ouvrir 3 instances (ou n instances) de IntelliJ IDEA.

Est-ce que j'ai oublié quelque chose? Existe-t-il une meilleure approche lors de l'utilisation de IntelliJ? C'est le plus grand inconvénient d'IntelliJ pour moi actuellement.

7 votes

En regardant les réponses à ce jour, l'idée principale que je vois est qu'IntelliJ définit ce que Eclipse appelle des "projets" comme des modules et des "espaces de travail" comme des projets. L'idée est de s'assurer que les modules dans le même projet sont assez liés. Donc, si le projet A dépend du projet B, mais que les deux sont totalement sans rapport avec le projet C, il serait bon d'ouvrir les projets A et B en tant que modules dans le même projet IntelliJ, tout en ouvrant C dans un projet séparé dans une deuxième instance IntelliJ. Vous pouvez être d'accord ou désaccord avec la conception, mais (en supposant que j'ai correctement capturé l'idée), j'honore la pensée qui se cache derrière.

466voto

Viktor Nordling Points 1736

Je pense que cela s'est amélioré avec les versions récentes d'IntelliJ. Dans ma version actuelle (12.0.2), vous pouvez ajouter n'importe quel nombre de projets Maven distincts au même "espace de travail".

La manière la plus simple que j'ai trouvée pour faire cela est de cliquer sur la petite icône + dans la fenêtre "Projets Maven" (Affichage > Fenêtres d'outils > Projets Maven) puis de sélectionner le fichier pom supplémentaire que vous souhaitez importer.

2 votes

Juste pour ajouter : une fois que le Projet Maven est ajouté, il se chargera dans le panneau du Projet s'il s'agit d'un projet local.

0 votes

Y a-t-il un moyen de sauvegarder un tel état afin de ne pas répéter l'ouverture de tous les POM plus tard ?

9 votes

Si ces projets sont situés dans des dépôts Git différents, vous pouvez cocher 'Contrôler les dépôts de façon synchrone' dans les paramètres (Paramètres > Contrôle de version > Git). IntelliJ conservera les poussées, les mises à jour et la sélection de branche synchronisées sur les différents projets.

267voto

ThoQ Luong Points 416

Étape 1: ouvrez "Projets Maven"

entrer la description de l'image ici

Étape 2: sélectionnez le projet que vous souhaitez importer:

entrer la description de l'image ici

35 votes

Une image vaut mille mots.

3 votes

Merci, cela a été vraiment utile

3 votes

Cette réponse m'a beaucoup aidé, surtout pour utiliser les captures d'écran. Merci.

168voto

ThisIsFlorianK Points 1871

Prérequis

Avoir tous les projets associés dans le même répertoire racine peut être utile.

Étapes

1) Tout d'abord, vous créez un nouveau projet vide

Nouveau projet vide


2) Ensuite, vous sélectionnez le répertoire racine de tous vos projets.

Cela créera un projet vide, avec un répertoire .idea qui se souviendra simplement de l'organisation des modules que nous allons faire à l'étape suivante

Sélectionnez le répertoire racine


3) Ensuite, dans la fenêtre suivante, vous importez les différents projets en tant que modules

Importer les projets en tant que modules


4) Dans la fenêtre suivante, pour importer chaque projet, double-cliquez simplement sur le build.gradle, ou pom.xml

Le projet sera importé en tant que nouveau module. Sélectionnez le fichier de construction


5) Terminé, vous avez maintenant tous vos projets en tant que modules, ouverts dans le même projet IntelliJ

Résultat

17 votes

C'est la réponse exacte à cette question. Tout d'abord, créez un projet vide puis ajoutez des projets existants. Merci.

6 votes

Vous avez LA solution. Mais votre 'Prérequis Avoir tous les projets liés dans le même répertoire racine.' n'est PAS nécessaire. J'ai essayé avec des projets Maven et cela fonctionne bien avec la version 2017.3 d'Intelllij. Je n'ai cependant pas essayé avec des modules standard d'Intellij.

2 votes

La solution exacte!

158voto

ŁukaszBachman Points 10541

Oui, votre intuition était bonne. Vous ne devriez pas utiliser trois instances d'Intellij. Vous pouvez ouvrir un projet et ajouter d'autres 'parties' de l'application en tant que modules. Ajoutez-les via le navigateur de projets, le raccourci par défaut est alt+1

1 votes

Je fais la même chose : j'importe le projet principal, puis j'importe mon deuxième projet en utilisant 'import module', mais plus tard, j'ai reçu "Ces modules ont été supprimés de la structure de Maven :... Voulez-vous qu'ils soient également supprimés du projet ?" - Ensuite, je clique sur 'Non'. Mais cette boîte de dialogue apparaît plusieurs fois. Que puis-je faire ?

3 votes

@redDevil lequel?

4 votes

@redDevil Non! Cette réponse est plus générale, si vous avez des projets non-Maven, cette réponse est meilleure puisque la réponse la plus votée ne les couvre tout simplement pas. Les deux réponses abordent des situations différentes et sont tout aussi pertinentes, aucune n'est meilleure que l'autre.

59voto

Neo Points 2531

Dans IntelliJ 14.1.2, j'ai fait comme suit:

Sélectionnez Fichier->Structure du projet->Modules.

Sélectionnez + puis Importer un module et sélectionnez le répertoire de votre projet (ou le répertoire où se trouve le fichier pom) et cliquez sur OK.

Suivez le flux d'écrans suivant et après avoir cliqué sur Terminer, vous devriez voir le projet à côté de votre projet existant.

description de l'image

0 votes

Ne peut pas ajouter le module de cette façon. Impossible d'importer quoi que ce soit de C:/Projets/

0 votes

@everalian, avez-vous le pom.xml dans C:/Projets ou ailleurs ?

0 votes

Non, je n'ai pas de fichier pom.xml. Parce que j'utilise la construction Gradle.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X