Articolo originale: How to Execute and Run Java Code from the Terminal
Se lavori con Java, probabilmente hai usato uno dei più famosi editor di testo come Sublime Text, VS Code, Brackets, Atom, e Notepad++, o anche IDE come Apache NetBeans e IntelliJ IDEA.
Eseguire il codice nel tuo IDE è immediato, ma spesso non riesci a vedere in che modo viene eseguito il codice (anche se ovviamente puoi controllare il comando nel terminale).
Tuttavia, è buona prassi sapere come viene eseguito effettivamente il codice e come viene prodotto l'output che ti restituisce.
Molti di voi potrebbero aver sentito che gli sviluppatori professionisti esperti usano anche il terminale per eseguire i programmi. Questo dà loro una visione più chiara e li aiuta a capire in che modo sta funzionando il codice, dove sta restituendo il valore desiderato, dove potrebbe trovarsi un bug, e così via.
Qualsiasi sia l'obiettivo, eseguire il codice Java direttamente dal terminale è un lavoro molto semplice.
In questo articolo ti mostrerò come puoi eseguire il codice Java direttamente dalla tua finestra del terminale preferita. Non temere! La procedura è abbastanza semplice, e dopo aver letto l'intero articolo dovresti essere in grado di eseguire il tuo codice Java dal terminale.
Come Eseguire il Codice Java nel Terminale
Il processo che sto per mostrarti in questo articolo si applica a qualsiasi sistema operativo, che sia Windows, MacOS o Linux.
Userò il seguente codice Java nel prossimo passaggio.
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
📦 Step 1 – Vai nella cartella dove si trova il codice sorgente
Se hai già scritto il tuo codice Java in un editor, allora vai semplicemente in quella cartella. Puoi andare direttamente nella cartella usando il gestore dei file se vuoi.
Come andare nella cartella dove si trova il codice sorgente: per Windows 🪟
Supponiamo di avere il codice sorgente (Main.java
) dentro la cartella This PC
> Documents
. Posso andare lì semplicemente usando Esplora File.

Oppure, volendo, posso anche andarci usando il mio terminale. Devo usare cd
(da "change directory" in inglese) per indicare che voglio cambiare cartella .
In questo caso, posso usare cd "C:\Users\Md. Fahim Bin Amin\Documents"
. Poiché il mio nome utente contiene degli spazi, ho usato "
"
per racchiuderli.
Poi se controllo tutti i file all'interno di quella cartella, vedrò anche il file Main.java
.
Ho messo il file Main.java
nel mio drive D questa volta. Quindi sono andato in quella cartella usando il comando cd
.

Vedo il mio file Java anche nel terminale.
Come andare nella cartella dove si trova il codice sorgente: per Linux 🐧
Puoi andare nella cartella dove si trova il tuo codice sorgente sia attraverso la GUI o dal terminale usando il comando cd
anche qui.


cd
🧑💻Come Compilare il Codice Java
Prima di eseguire il nostro codice Java, dobbiamo compilarlo. Per compilare un codice/programma in Java, otteniamo il file class che in seguito dovremo eseguire.
Come compilare il codice Java usando il terminale
Dobbiamo usare il comando javac nome_file_con_estensione
. Per esempio, dato che voglio compilare il mio Main.java
, userò il comando javac Main.java
. La c
in javac
sta per compila.

Se il processo di compilazione avviene con successo, non otterremo nessun errore.

Questo creerà il file class di cui abbiamo bisogno nella stessa cartella.

Tieni a mente che eseguiamo il file class, non il file .java
.
Lo stesso processo è applicabile per tutti i sistemi operativi disponibili.

🖥️ Come Eseguire il Codice Java
Eseguiamo il file .class
per lanciare i programmi Java. Per questo, usiamo il comando java nome_file_class_senza_estensione
. Per esempio, poiché il nostro file .class
per questo programma è Main.class
, il nostro comando sarà java Main
.

Il programma Java è stato eseguito con successo!
La stessa identica procedura è applicabile anche ad altri sistemi operativi.

🏅Bonus: Come Eseguire un Programma Java con i Package
Un package sta praticamente ad indicare una cartella. Prima ti ho mostrato come usare un qualsiasi normale codice Java ricorrendo al terminale. Lì non ho usato alcun package all'interno del codice Java.
Adesso ti mostrerò come puoi eseguire qualsiasi codice Java che ha dei package dichiarati al suo interno. Questa volta, userò il seguente codice Java.
package myJavaProgram.Source;
public class Main {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Nella prima riga ho scritto il package come package myJavaProgram.Source
. Questo indica che voglio creare una cartella chiamata myJavaProgram
. Poi, voglio creare un'altra cartella al suo interno chiamata Source
. Infine, voglio creare un file class del mio codice Java all'interno della cartella Source
.
La struttura ad albero delle cartelle sarà la seguente: myJavaProgram > Source.
Per compilare questo tipo di codice Java con i package, usiamo il comando javac -d . nome_file_con_estensione
.
Al momento sto usando il file Main.java
, quindi userò il comando javac -d . Main.java
. Questo creerà una cartella chiamata myJavaProgram, poi creerà un'altra cartella chiamata Source dentro la cartella myJavaProgram dentro la cartella dove si trova il mio file sorgente.
- La_Cartella_Dove_Ho_Il_Mio_Codice_Sorgente
- cartella
myJavaProgram
- cartella
Source

Crea istantaneamente la cartella myJavaProgram.

All'interno della cartella, crea la cartella Source.

Dentro la cartella Source, crea il nostro file .class
. Abbiamo bisogno di questo file per eseguire il programma Java.

Adesso, se vogliamo eseguire il file .class
, abbiamo bisogno di cambiare un po' il comando, poiché dobbiamo fornire la cartella del file .class
nella finestra del terminale.
Usiamo il comando per eseguire il programma Java con i package, java cartella_del_file_class.il_nome_del_file_class_senza_estensione
.
Poiché sto usando Main.java
e ho bisogno di eseguire il file Main.class
, il mio comando sarà java myJavaProgram.Source.Main
. Eseguirà il codice Java come qui di seguito.

Se ti stai chiedendo perché stiamo cambiando il comando adesso, è perché prima non abbiamo dichiarato nessun package. Quindi il compilatore Java ha creato il file .class
all'interno della cartella dove si trovava il nostro codice sorgente. Quindi, potremmo prendere il file .class
direttamente da lì e potremmo anche eseguire il file class.
Ma se dichiariamo i package all'interno del codice sorgente in questo modo, allora stiamo dicendo al compilatore di creare il file .class
in un altro posto (non all'interno della cartella dove si trova il nostro codice sorgente). Ciò significa che non prendiamo il file class direttamente da lì.
Poiché vogliamo eseguire il file class, abbiamo bisogno di dire al compilatore esplicitamente dove si trova il file class al momento, così che possa prendere il file class ed eseguirlo.
Se pensi di poter fare confusione durante questo passaggio, allora puoi copiare la cartella direttamente dal tuo codice Java.

Nella riga 1, abbiamo dichiarato la cartella del package (dove vogliamo che sia generato il file class). Dunque, se copiamo semplicemente la cartella e aggiungiamo il nome del file .class
senza l'estensione (.class
), preceduto da un punto (.
), allora soddisfiamo la condizione per eseguire qualsiasi codice Java che ha dei package dichiarati nel codice sorgente.
Lo stesso processo è applicabile agli altri sistema operativi. Ecco qui degli screenshot da un sistema Linux:

Ottimo lavoro! 👏 Adesso puoi eseguire qualsiasi codice/programma Java direttamente usando un terminale. 🥳
Ho creato anche un video dove ho mostrato tutti i procedimenti menzionati in alto. Puoi darci un'occhiata qui. 😁
💁♂️ Conclusione
Spero che questo articolo ti aiuti ad eseguire i tuoi programmi Java usando solo il terminale.
➡️ Se vuoi sapere come installare un compilatore Java per il tuo sistema operativo Windows, allora puoi dare un'occhiata a questo articolo.
➡️ Se vuoi sapere come installare dei compilatori per C e C++ sul tuo sistema operativo Windows, allora puoi dare un'occhiata a questo articolo.
➡️ Se vuoi sapere come installare Python sul tuo sistema operativo Windows, allora puoi dare un'occhiata a questo articolo.
Grazie per aver letto l'intero articolo. Se ti può essere di aiuto puoi anche dare un'occhiata ai miei altri articoli su freeCodeCamp.
Se vuoi metterti in contatto con me, puoi farlo usando Twitter, LinkedIn, e GitHub.
Puoi anche ISCRIVERTI al mio canale di YouTube (Code With FahimFBA) se vuoi imparare diversi tipi di linguaggi di programmazione con molti esempi pratici pubblicati regolarmente.
Se vuoi dare un'occhiata ai miei highlights, puoi farlo sulla mia timeline Polywork.
Puoi anche visitare il mio sito per saperne di più di me e delle cose su cui sto lavorando.
Grazie mille!