Compilare java da linea di comando utilizzando l’opzione -classpath

manholdingquestionmarksmallcropped.jpgUna piccola guida, per chi come me, si è chiesto come riuscire a compilare dei sorgenti che richiedono delle particolari librerie (*.jar).

[compilazione tramite prompt su Windows]

Per completare la compilazione avete necessità di includere queste librerie nel classpath e TUTTI vi diranno, o vi hanno già detto, di andare a modificare la variabile d’ambiente %CLASSPATH% aggiungendo la nuova directory ove avete scaricato la libreria .Jar in questione..

..ma IO No!! Non voglio modificare questa variabile, la mia è nulla e nulla deve rimanere (per vedere il valore di tale variabile digitare sulla shell di win$ozz il comando echo %classpath%). Ci sarà pure un modo per indicare al compilatore dove racattare la libreria e includerla.. ma certo che c’è!!

Esempio: prendiamo questa libreria “Flanagan.jar” che ci offre numerose funzionalità matematiche e statistiche.
Salviamola da qualche parte, sul desktop, e poi scarichiamo anche i due sorgenti di prova: RegressionExampleOne.java e RegressionExampleTwo.java.
Salviamoli nella stessa direcory dove avevamo precedentemente salvato l’intera libreria.
Bene,
a questo punto possiamo procedere così:

  1. (aprite la linea di comando e digitate) javac -classpath ./flanagan.jar; RegressionExampleOne.java
  2. (e poi digitate ancora) java -cp ./flanagan.jar; RegressionExampleOne

Occhio a non dimenticare di mettere il punto e virgola !!

Come per magia vi appare un bel plot grafico ;)

Avreste potuto procedere anche in un altro modo, estraendo l’archivio .jar, posizionando i due sorgenti di prova all’interno e poi compilando ed eseguendo normalmente Java senza aggiungere null’altro..
..ma questo, diciamolo, non è un metodo molto elegante :)

Se le cose nn vi dovessero funzionare siete invitati a scrivermi, Vi aiuterò a risolvere il vostro problema, ma per favore non bestemmiatemi contro :mrgreen:

P:S: in ambiente Linux la procedura da seguire dovrebbe essere la stessa se non che dovete sostituire lo slash “/” con il back-slash “\”

There are no comments on this post

Leave a Reply