Intellij Idea - Deep Dive
I primi quattro capitoli di questo tutorial sono stati progettati per fornire ai principianti una panoramica a livello di base di IntelliJ. Questa sezione approfondisce IntelliJ e discute di più sui progetti, il suo formato e altre cose.
Capire i progetti
Un progetto è un'applicazione o un software su cui stai lavorando. Può contenere più moduli, classi, librerie, configurazioni e così via. È l'elemento più in alto nella gerarchia.
Moduli di comprensione
I moduli presentano un rung sotto "Project". Un modulo è un'entità separata che può essere compilata, sottoposta a debug ed eseguita indipendentemente da altri moduli. Un singolo progetto può contenere più moduli. Puoi aggiungere o rimuovere moduli da un progetto in qualsiasi momento.
Oltre a questo, possiamo anche importare i moduli esistenti. Segui questi passaggi per importare i moduli esistenti:
- Vai a File → Struttura del progetto.
- Seleziona i moduli e fai clic sull'icona più.
- Mostrerà l'opzione per importare il modulo.
Capire le cartelle
Content rootè una cartella che contiene tutti i file che compongono il tuo modulo. Un modulo può avere più di una cartella di contenuti. Le cartelle sono classificate nei seguenti tipi:
Sources - Assegnando questa categoria alla cartella, istruiamo IntelliJ che questa e la sua sottocartella contengono il codice sorgente java e devono essere compilate come parte del processo di compilazione.
Tests- Assegnando questa categoria alla cartella, indichiamo a IntelliJ che è la posizione per gli unit test. Questa cartella può accedere alle classi dalla cartella Sources.
Resources- Rappresenta vari file di risorse utilizzati nel progetto, ad esempio immagini, XML e file di proprietà. Durante il processo di compilazione, il contenuto di questa cartella viene copiato così com'è nella cartella di output.
Excluded- I contenuti della cartella esclusa non verranno indicizzati da IntelliJ. Ciò significa che IntelliJ non fornirà il suggerimento per il completamento del codice e altri suggerimenti. Ad esempio, la directory di output e la directory di destinazione sono escluse per impostazione predefinita.
Test resources - Questo è simile alle risorse e utilizzato per gli unit test.
Capire le biblioteche
La libreria è una raccolta di classi diverse. La libreria consente il riutilizzo del codice. In Java, la libreria può essere racchiusa in ZIP, Jar o semplicemente cartella. Possiamo definire le biblioteche a tre diversi livelli. I livelli sono: globale, progetto e livello modulo.
Global level - Condiviso da tutti i progetti.
Project level - Condiviso da tutti i moduli del progetto.
Module level - Condiviso dalle classi di quei moduli.
Comprensione delle sfaccettature
Le sfaccettature sono le estensioni dei moduli. Aggiungono il supporto ai framework e alle tecnologie. Quando un facet viene aggiunto a un modulo, IntelliJ lo identifica aggiunge il supporto. Ad esempio, suggerimenti e aiuto nell'editor, nuovi strumenti nella barra delle finestre, download delle dipendenze e così via. Puoi aggiungere sfaccettature dal fileFile → Project Structure finestra come mostrato di seguito -
Artefatti
Gli artefatti sono l'output di un progetto. Può essere un semplice file JAR, un'applicazione Java EE o un'applicazione Java EJB. Se utilizziamo strumenti di compilazione esterni come Gradle o Maven, IntelliJ aggiungerà automaticamente gli artefatti. È possibile creare artefatti accedendo al fileFile → Project Structure come mostrato di seguito -
Importazione del progetto esistente
In questa sezione capiremo come importare un progetto esistente. Possiamo importare un progetto in due modi:
- Importalo da una sorgente esistente
- Importalo dal modello di build.
Al momento, supporta gli strumenti di compilazione Gradle e Maven. Per importare il progetto -
- Navigando su File → Nuovo → Progetto dalla fonte esistente.
- Seleziona la directory del progetto esistente, pom.xml di Maven o lo script di build di Gradle.
- Fare clic sul pulsante OK.
Formati del progetto
IntelliJ supporta due tipi di formato di progetto uno è directory-based e altro è file-based. Il formato basato su directory è più recente, consigliato. Per impostazione predefinita, IntelliJ crea un formato di progetto basato su directory. È possibile selezionare il formato del progetto durante la creazione di un nuovo progetto. Nella nuova finestra del progetto basta fare clic su più impostazioni come mostrato nell'immagine sottostante -
Formato progetto basato su directory
Questo formato aiuta a creare una cartella di idee nel progetto e a mantenere tutti i file di configurazione all'interno di quella cartella. Le impostazioni sono raggruppate nei file xml. Ad esempio, creeràmisc.xml, modules.xml, workspace.xmle così via. Lo screenshot seguente ti aiuterà a capire come funziona -
Formato progetto basato su file
Creerà due file di progetto con ..ipr e wprestensioni. Il file ipr conterrà le impostazioni specifiche del progetto e il file wpr conterrà le impostazioni specifiche dell'area di lavoro.
Per convertire un progetto basato su file in un progetto basato su directory, vai a File → Save as a Directory-Based format.
Formato del progetto basato su directory e su file
Rispetto al formato di progetto basato su file, il formato di progetto basato su directory memorizza le impostazioni in una cartella separata con nomi significativi. Altre differenze sono:
Le impostazioni correlate che vengono archiviate in un singolo file ne facilitano la gestione nel formato di progetto basato su directory.
Se la cartella contiene la sottocartella dell'idea, IntelliJ riconosce quel progetto. Per questo motivo, non è necessario selezionare esplicitamente il progetto ipr.
Il formato del progetto basato su directory suddivide le impostazioni in più file, quindi è più facile selezionare un tipo particolare di impostazione da memorizzare nel sistema di controllo della versione.