Java/Package: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
incollo testo da Java/Primo programma. Vedi talk page per la cronologia della pagina originaria.
→‎Importare le classi: ripulisco dalla roba che riguarda PATH e CLASSPATH
Riga 119:
 
== Importare le classi ==
 
Per riutilizzare le classi stoccate in precedenza è necessario ma solo per i package personali come quelli che abbiamo fatto sopra usare la variabile di sistema CLASSPATH. Il Classpath serve, per dirgli dove sono solo i nostri package.
 
Per esempio i file archiviati Helloworld sono in /home/giovanni/mieclassi/ .
 
Per usare le classi dei package bisogna scrivere la parola chiave <tt>import</tt>:
<tt>import nomedelpackage;</tt>
Line 147 ⟶ 142:
 
</source>
 
Lo compileremo a riga di comando così:
javac -classpath /home/giovanni/mieclassi/ Test.java
 
Lo eseguiremo a riga di comando così:
java -classpath ./:/home/giovanni/mieclassi/ Test
Ed otteremo l'output:
Hello, world!
Attenzione tra il primo classpath e il secondo c'è una differenza ed è il "." punto. Questo è importante se vogliamo eseguire (comando "java") i file. class che abbiamo compilato (comando "javac") o che sono comunque presenti in questa stessa dir . Se lo omettiamo potremmo non poter eseguire i programmi: la JVM non trova i file.class nella dir corrente perché li cerca altrove.
Il classpath si può settare anche nelle variabili utente del sistema operativo e in questo modo non siamo più costretti a digitare un interminabile comando con opzioni strane con il rischio di sbagliare, ma basta solo un " "java"o un "javac".
 
Per windows:
Pannello di Controllo - Sistema - Avanzate - Variabili d'ambiente - Variabili utente.
Ad esempio:
.;C:\Java\mieclassi
 
Per linux da shell:
ad esempio
export CLASSPATH= ./:/home/giovanni/mieclassi
 
Attenzione: nel capitolo installazione abbiamo parlato della variabile PATH che quì non c'entra niente, sono due cose molto diverse, alcuni le confondono.
La variabile PATH fa riferimento agli eseguibili java come i programmi java, javac, jar, ed altri, mentre la CLASSPATH punta alle classi.
 
[[Categoria:Java|Package]]