IntelliJ: lavorare su più progetti


332

Costruiamo progetti multipli (chiamiamoli A, B, C). Il progetto A utilizza .jar del progetto B che utilizza .jar del progetto C.

Sto modificando i codici di tutti i progetti A / B / C, (A è l'app MVC, B sono servizi aziendali e C è un livello condiviso).

Il fatto è che in Eclipse / NetBeans riesco a vederli tutti in una volta ed è comodo modificarli. In IDEA, tuttavia, devo aprire 3 istanze (o n istanze) di IntelliJ IDEA.

Mi sto perdendo qualcosa? Esiste un approccio migliore quando si utilizza IntelliJ? Questo è il più grande svantaggio di IntelliJ per me atm.


3
Osservando le risposte fino ad oggi, l'essenza di base che vedo è che IntelliJ definisce ciò che Eclipse chiama "progetti" come moduli e "aree di lavoro" come progetti. L'idea è di garantire che i moduli nello stesso progetto siano abbastanza correlati. Quindi, se il progetto A dipende dal progetto B, ma entrambi sono totalmente estranei al progetto C, sarebbe bene aprire i progetti A e B come moduli nello stesso progetto IntelliJ, mentre si apre C in un progetto separato in una seconda istanza IntelliJ. Puoi essere d'accordo o in disaccordo con il design, ma (supponendo che abbia catturato correttamente l'idea) onoro il pensiero dietro di esso.
John Chesshir,

Risposte:


134

Sì, la tua intuizione è stata buona. Non dovresti usare tre istanze di intellij. È possibile aprire un progetto e aggiungere altre 'parti' dell'applicazione come moduli. Aggiungili tramite il browser del progetto, il tasto di scelta rapida predefinito è alt + 1


1
Sto facendo lo stesso: importare il progetto principale, quindi importare il mio secondo progetto usando 'import module', ma più tardi di - Ho ottenuto "Questi moduli sono stati rimossi dalla struttura del Maven: ... Vuoi che vengano rimossi? anche dal progetto? " - Quindi premo 'No'. Ma questa finestra di dialogo appare molte volte. Cosa posso fare?
nnhthuan,

99
Migliore risposta di seguito
redDevil

3
@redDevil quale?
Piotr Findeisen,

4
@redDevil No! Questa risposta è più generale, se hai progetti non-maven questa risposta è migliore poiché la risposta più votata semplicemente non li copre. Le due risposte affrontano situazioni diverse e sono ugualmente rilevanti, nessuno è migliore dell'altro.
luk2302,

2
È meglio della risposta "Solo Maven" ma non aiuta se hai progetti non correlati che vuoi visualizzare contemporaneamente (es. Facile accesso per fare riferimento al codice di un altro progetto), o se supporti una libreria che dipende da il progetto su cui ti concentri. Estremamente frustrante il modo in cui IJ non ha utilizzato il modello Eclipse / NetBeans qui, è la cosa principale che mi impedisce di passare a IJ.
Manius,

423

Penso che questo sia migliorato con le recenti versioni di IntelliJ. Nella mia versione corrente (12.0.2), è possibile aggiungere qualsiasi numero di progetti Maven separati allo stesso "spazio di lavoro".

Il modo più semplice che ho trovato per farlo è fare clic sulla piccola +icona nella finestra "Progetti Maven" (Visualizza> Finestre degli strumenti> Progetti Maven) e quindi selezionare il file pom aggiuntivo che si desidera importare.


2
Solo per aggiungere: una volta aggiunto il Progetto Maven verrà caricato nel pannello Progetto se si tratta di un progetto locale.
Aram Kocharyan,

9
Se questi progetti si trovano in diversi repository git, è possibile selezionare "Controlla repository in modo sincrono" nelle impostazioni (Impostazioni> Controllo versione> Git). IntelliJ manterrà sincronizzati push, aggiornamenti e selezione delle filiali su più progetti.
Tim Van Laer,

13
Per coloro che non conoscono IntelliJ e non sanno dove si trova la finestra "Progetti Maven": nell'angolo in alto a destra.
dustin.schultz

1
Con la versione 2017 è diversa, fare riferimento a jetbrains.com/help/idea/2017.1/maven-projects-tool-window.html
vikramvi,

3
Quindi, se hai bisogno di più progetti aperti, ma sono progetti Gradle o Ant, sei ancora sfortunato. No grazie ... Devo poter avere tutti e 3 aperti, come consentono NetBeans ed Eclipse. La mancanza di uno spazio di lavoro adeguato è la ragione principale per cui non uso ancora IJ.
Manius

216

Segui questi 2 passaggi:

Passaggio 1 : Apri "Progetti Maven"

inserisci qui la descrizione dell'immagine

Passaggio 2 : selezionare il progetto che si desidera importare:

inserisci qui la descrizione dell'immagine


20
Un'immagine vale più di mille parole.
Neeraj Jain,

3
Grazie, è stato davvero utile
J. Adam,

3
Questa risposta mi aiuta molto, in particolare, per l'utilizzo degli screenshot. Grazie.
Chaklader Asfak Arefe,

1
Questa è la risposta che sto cercando. Grazie mille :)
Jerin Kurian,

1
Non vedo l'opzione nel mio caso:2019.3 community
Marinos il

134

prequisite

Avere tutti i progetti correlati nella stessa directory principale.

passi

1) Per prima cosa crei un nuovo progetto vuoto

Nuovo progetto vuoto


2) Quindi si seleziona la directory principale di tutti i progetti.

Questo creerà un progetto vuoto, con una directory .idea che ricorderà semplicemente l'organizzazione del modulo che stiamo per fare nel prossimo passaggio

Seleziona la directory principale


3) Quindi, nella finestra successiva, importate i diversi progetti come moduli

Importa progetti come moduli


4) Nella finestra successiva, per importare ogni progetto, fai semplicemente doppio clic su build.gradle o pom.xml

Il progetto verrà importato come nuovo modulo. Seleziona il file di build


5) Fatto, ora hai tutti i tuoi progetti come moduli, aperti sullo stesso progetto IntelliJ

Risultato


16
Questa è la risposta esatta esatta a questa domanda. Innanzitutto, crea e svuota il progetto, quindi aggiungi i progetti esistenti. Grazie.
hrzafer,

4
hai la soluzione. Ma il tuo "Prequisito Avere tutti i progetti correlati nella stessa directory principale". non è richiesto. Ho provato per progetti maven e funziona bene con Intelllij versione 2017.3. Non ho provato con i moduli standard Intellij però.
Gauthier Peel,

2
La soluzione esatta!
Satheesh,

2
Risposta migliore. Grazie :)
AnarchoEnte,

2
Ha funzionato per me con Intellij Idea 2018.3 e Gradle.
incide l'

53

In IntelliJ 14.1.2, l'ho fatto come segue:

Seleziona File-> Project Structure-> Modules.

Selezionare +e Import Modulequindi selezionare la directory del vostro progetto (o la directory in cui è presente POM) e fare clic su OK.

Segui il prossimo flusso di schermate e dopo aver fatto clic Finish, dovresti vedere il progetto accanto a quello esistente.

inserisci qui la descrizione dell'immagine


impossibile aggiungere il modulo in questo modo. Cannot import anything from C:/Projects/
sempre alian,

@everalian, hai il pom.xml in C: / Projects o altrove?
Neo,

No, non ho il file pom.xml. Perché io uso Gradlebuild.
sempre alian,

2
Questa dovrebbe essere la soluzione accettata. Non tutti i progetti usano Maven.
Babken Vardanyan,

34

Nessuna delle soluzioni ha funzionato per me, dal momento che non sto lavorando a progetti Maven. C'è una soluzione più semplice. Vai a:

File-> Struttura del progetto-> Moduli.

inserisci qui la descrizione dell'immagine

Invece di aggiungere il modulo, fai semplicemente clic sulla terza opzione (copia). Sfoglia la tua directory locale e seleziona il progetto che desideri aggiungere. Il nome del modulo verrà risolto automaticamente. Questo è tutto.

Aggiornamento: quando vuoi riaprire per proiettare con più sottoprogetti, per evitare di ripetere i passaggi descritti sopra, vai su File-> Apri recenti -> 'Il tuo grande progetto'.


1
Sì ... oh Sì .... Questa è la soluzione che sto cercando. L'importazione come modulo o progetto maven non genera .ideae xxx.imlfile. Ciò può causare problemi con le tessere apache . Sto usando con la versione 2018.1.5. Grazie mille.
Cataclysm,

Questo è fantastico! L'unico inconveniente è usare l'IDE solo come editor e continuare a navigare nella cartella corretta per compilare ed eseguire. Qualcuno ha un modo semplice per utilizzare questa soluzione per più cartelle (moduli copiati) e comunque compilare ed eseguire nell'editor?
Greg Hilston,

11

Per espandere la risposta di @Neo: dopo aver scelto la tua directory. seleziona import module from external modele scegli il tuo modello (maven in questo caso).

scegli il modello

Quindi selezionare l' keep project filesopzione dalla finestra di dialogo successiva. Manterrà tutti i file nella directory originale.

opzioni

La struttura del tuo progetto finale sarebbe qualcosa del genere.

struttura

Ora puoi aggiungere il tuo modulo come dipendenza da altri moduli pom.xmle se cambi il codice sorgente delle tue dipendenze, Intellij si occupa dell'aggiornamento del tuo progetto (non è necessario eseguire mvnbuild manualmente per le dipendenze)


8
  • nuovo progetto vuoto
  • File -> Nuovo -> Modulo da fonti esistenti

6

Puoi usare il plug-in Armory che rende comodo il passaggio da un progetto all'altro. La scorciatoia predefinita per List Project è Alt + A .

Schermata della finestra Elenco progetti

Per impostazione predefinita, i progetti attualmente aperti vengono visualizzati nella parte superiore di questo elenco (con stile grassetto ).


6

Apri preferenza -> aspetto e comportamento -> Impostazioni di sistema -> seleziona (apri progetto in una nuova finestra) quindi applica.inserisci qui la descrizione dell'immagine

Quindi è possibile aprire e modificare più progetti.


5
Questo è esattamente ciò che l'OP sta cercando di evitare. Li vuole nella stessa finestra, tutti e tre i progetti contemporaneamente.
Simon Forsberg,

6

Per chi usa Gradle può valere anche lo stesso:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Vai a: 1. Visualizza -> Strumenti di Windows -> Grado 2. Fai clic sul +pulsante e aggiungi il tuo build.gradlefile


Stai utilizzando la Community Edition o la Ultimate Edition? Sono nuovo di Intellij e ho solo CE (2019.3.3). Questo non ha Gradle in quel menu.
mike rodent,

4

Premi "F4" su Windows per aprire "Struttura del progetto" e poi fai clic sull'icona "+" o "Alt + Inserisci" per selezionare un nuovo progetto da importare; quindi fare clic sul pulsante OK ...


Grazie per la chiave. È stato utile se hai dimenticato di aggiungere qualcosa con la risposta di @ThisIsFlorianK!
Satheesh,

4

Usa il pulsante per i progetti di aggiunta maven ed entra nella cartella del progetto. Quindi, selezionare il pom.xmlfile e aggiungerli in IntelliJ.

inserisci qui la descrizione dell'immagine


1

Per le persone che non usano Maven per costruire e vogliono aggiungere un nuovo progetto (sto usando Intellij 14.1.3):

  1. Fare clic con il tasto destro sulla cartella di livello superiore nella vista del progetto, selezionare nuovo -> Modulo
  2. Denominare il modulo con lo stesso nome del progetto da aggiungere
  3. Dal menu in alto seleziona File-> Nuovo-> Progetto. Immettere lo stesso nome del nuovo modulo, anche le stesse posizioni delle cartelle.
  4. Apri il Progetto e attendi che intellij crei la struttura del progetto.
  5. Chiudi questo nuovo progetto e apri il progetto originale a cui è stato aggiunto il modulo nel passaggio 2

A seconda del costruttore, saranno necessari passaggi aggiuntivi per aggiungerlo al processo di generazione.

Per SBT, e nel progetto di livello superiore ho modificato il file Build.scala per aggregare il nuovo progetto e ho aggiunto il progetto nella finestra dei progetti SBT. Maggiori informazioni sulle build multiprogetto SBT: http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Multi-Project.html


IntelliJ ha aggiunto il supporto per l'aggiunta di moduli sbt a un progetto e funzionava davvero bene, ma sembra essere rotto dalle versioni del 2017. È ancora possibile aggiungere più moduli sbt ma quando si aggiorna, si finisce per perdere tutti tranne uno.
Nader Ghanbari,

1

Per Intellij IDEA 2019.2, F4 + fai clic sul modulo, fai clic su + per aggiungere qualsiasi progetto dal tuo HDD, sopra questo menu puoi modificare l'IDE con te creare il progetto e più opzioni, molto facile


0

puoi usare l'opzione modulo di importazione che lo aprirà proprio come eclissi nello stesso navigatore.


dice che non può aprire .ipr nel progetto
mai alian il

0

Sono nuovo di Maven e non ho capito come avrei potuto lavorare con il progetto Maven locale aggiunto tramite la risposta di Viktor Nordling e ho ancora una dipendenza adeguata nel file pom.xml. La risposta è semplice: intellij esamina innanzitutto il modulo aggiunto localmente e se non lo trova va a prendere il progetto da remoto. Puoi verificarlo guardando "librerie esterne" sotto il browser del tuo progetto quando aggiungi o rimuovi il modulo maven.

Spero che questo aiuti chiunque.



-1

Non è necessario spostare interi progetti in un modulo. Il caso d'uso del modulo è un po 'più fine rispetto a come un contenitore di progetto.

Per aprire più progetti nella stessa finestra:

File -> Apri progetto

Seleziona Apri in questa finestra.

Casella di controllo che dice Aggiungi al progetto corrente.


1
non funziona. sostituisce il progetto attualmente aperto nella stessa finestra.
sempre alian,

3
@everalian sfortunatamente questa funzione è stata rimossa.
BAR
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.