Announcements

[PROGETTO] Compilazione ed esecuzione da riga di comando

[PROGETTO] Compilazione ed esecuzione da riga di comando

di MATTEO LOPORCHIO -
Numero di risposte: 0

Dato che potrebbe tornare utile ai fini del progetto, riporto qui un breve esempio di come compilare ed eseguire classi Java da riga di comando, includendo anche GSON come libreria esterna. Le classi della libreria sono contenute in un file JAR scaricabile qui.

Supponiamo che la cartella principale del nostro progetto contenga due sottodirectory:

  1. src con tutti i file sorgente Java scritti da noi.
  2. lib contenente il file JAR di GSON, chiamato gson-2.8.9.jar.

Compilazione. Per compilare dobbiamo specificare il classpath, ovvero il percorso in cui il compilatore deve cercare le classi (sia quelle che abbiamo scritto noi, sia quelle del file JAR). Per farlo, dapprima è necessario posizionarsi dentro la directory src e successivamente digitare:

javac -cp .:../lib/gson-2.8.9.jar *.java

In questo caso, data la struttura del nostro progetto, il classpath è rappresentato dalla stringa .:../lib/gson-2.8.9.jar. Il senso della stringa è il seguente:

  1. Il primo punto . indica al compilatore di cercare le classi nella directory corrente (ovvero src, dove ci sono i sorgenti).
  2. I due punti : sono un separatore, usato per far capire al compilatore che deve cercare le classi anche da un'altra parte. Nota: in questo esempio ho usato il : perché funziona su Linux e macOS. Su Windows, però, il separatore è il carattere di punto e virgola ;.
  3. La stringa ../lib/gson-2.8.9.jar indica il percorso (relativo) del file JAR partendo dalla directory corrente. Per trovare il file, infatti, occorre tornare al livello superiore .. e poi entrare nella cartella lib.

Esecuzione. La stessa cosa vale anche nel caso dell’esecuzione: per far partire il programma, è necessario specificare il classpath in modo tale che la JVM individui le nostre classi e quelle di GSON. Supponiamo dunque di aver compilato il codice e che la classe contenente il metodo main (ovvero l'entry point del nostro programma) sia denominata Main (e contenuta ovviamente in src). Dopo esserci posizionati nella cartella src, possiamo digitare il comando

java -cp .:../lib/gson-2.8.9.jar Main ...

dove i tre puntini ... rappresentano gli eventuali parametri da riga di comando necessari per il funzionamento dell'applicazione.