Indice Istallazione di Java - Uso delle librerie G. Grossi G. Grossi Tutorial Indice Indice 1 Istallazione di Java 2 SDK 2 Uso dei package G. Grossi Tutorial Indice Indice 1 Istallazione di Java 2 SDK 2 Uso dei package G. Grossi Tutorial Istallazione di Java Uso dei package Java 1.4.2 Java è disponibile per la famiglia di S.O. Microsoft Windows e S.O. Linux (oltre a SUN): Microsoft Windows 98 (edizioni 1 e 2); Windows NT 4.0 Windows ME; Windows 2000 Windows XP; Linux I requisiti minimi di sistema richiesto sono i seguenti: processore Pentium 166MHz; 32 Megabytes di RAM; 120 Megabytes di spazio disponibile su disco. G. Grossi Tutorial Istallazione di Java Uso dei package File per l’installazione I 2 file necessari per procedere all’istallazione sono scaricabili dal sito della SUN e sono (nella versione più recente): Java 2 SDK j2sdk-1 4 2 06-windows-i586.exe contiene il programma di installazione di Java 2 SDK (reperibile dal sito della SUN all’indirizzo ) Documentazione j2sdk-1 4 2-doc.zip contiene la documentazione delle librerie Java (API - Application Programmer Interface) che sono fondamentali per la programmazione. G. Grossi Tutorial Istallazione di Java Uso dei package Albero delle directory Una situazione titpica di istallazione è la seguente: C:\ | Programmi | j2sdk1.4.2_06 ____________________|________________________ | | | | | | | | | | | | | | bin lib include demo jre docs | | | LICENSE ___|___ | | COPYRIGHT | | | README api index README.html | index.html G. Grossi Tutorial Istallazione di Java Uso dei package Esecuzione dei programmi I programmi (tools) forniti con Java (contenuti nella directory bin) non prevedono un’interfaccia grafica Devono essere eseguiti dall’interprete dei comandi di Windows che è chiamato prompt L’applicazione prompt è in genere eseguibile dal menu Avvio ⇒ Programmi ⇒ Accessori Appare una finestra (tipo DOS) in cui compare un cursore lampeggiate dopo una stringa del tipo C:\WINDOWS > La stringa C:\WINDOWS > è chiamata prompt e indica la directory corrente. Il cursore lampeggiante indica che l’inteprete dei comandi è pronto a ricevere ed eseguire un nuovo comando G. Grossi Tutorial Istallazione di Java Uso dei package La variabile di sistema PATH Per utilizzare in modo più pratico i programmi presenti nella directory bin è possibile utilizzare la variabile di sistema PATH Contiene un elenco di directory separatare da un carattere: ’;’ - nei sitemi Windows ’:’ - nei sitemi Unix (Linux) Indica all’interprete dei comandi le directory cercare i programmi eseguibili In riferimento all’esempio presentato qui, occorre aggiungere alla variabile PATH la directory C:\Programmi\j2sdk1.4.2_06\bin G. Grossi Tutorial Istallazione di Java Uso dei package I package In genere in un programa Java vengono utilizzate molte classi che possono essere: Classi fornite con l’ambiente di sviluppo chiamate API (Application Programmer Interface) Classi precedentemente sviluppate dal programmatore o da altri Classi che compongono il programma Queste classi sono organizzate in librerie che, nel caso di Java, prendono il nome di package G. Grossi Tutorial Istallazione di Java Uso dei package Importare classi Se in un programma Java si vuole utilizzare una classe che appartene ad un package, bisogna informare esplicitamente il compilatore e la macchina virtuale Direttiva di importazione: import nomeDellaClasse; dove: import: è una parola riservata del linguaggio nomeDellaClasse: è il nome completo della classe che include il nome del package e il nome della classe la direttiva di importazione viene conclusa dal carattere ’;’ il package java.lang viene importato implicitamente G. Grossi Tutorial Istallazione di Java Uso dei package Un esempio import prog.io.ConsoleOutputManager; import prog.io.ConsoleInputManager; class BuonInizioATe { public static void main(String [] args) { ConsoleInputManager in = new ConsoleInputManager ConsoleOutputManager out = new ConsoleOutputMana String nome = in.readLine("Inserisci il tuo nome out.println("Ciao " + nome + ", ti auguro una bu }} Questo programma utilizza le classi: ConsoleOutputManager e ConsoleInputManager che appartengono al package prog.io. Quindi devono essere importate esplicitamente String che appartiene al package java.lang G. Grossi Tutorial Istallazione di Java Uso dei package Direttiva import La direttiva di importazione informa il compilatore e la JVM su dove trovare le classi utilizzate nel programma Il compilatore ha bisogno delle informazioni contenute nel bytecode della classe per verificare che all’interno del nostro programma tale classe sia utilizzata in modo corretto La JVM ha bisogno del codice della classe durante l’esecuzione G. Grossi Tutorial Istallazione di Java Uso dei package Argomento della direttiva import import nomeDellaClasse; nomeDellaClasse indica un percorso nell’albero delle directory. Java usa il carattere ’.’ come separatore delle directory Ad esempio in un sistema Windows prog.io.ConsoleOutputManager corrisponde al path: prog\io\ConsoleOutputManager Indica quindi che la classe ConsoleOutputManager da importare memorizzata in una sottodirectory di nome prog\io\ G. Grossi Tutorial Istallazione di Java Uso dei package La variabile di sistema CLASSPATH prog.io è una package (libreria), cioè un insieme di classi raggruppate in base alle funzionalità Dove si trova la libreria prog.io? Cioè dove si trova la directory prog\io\? In genere le librerie vengono raggruppate in una o più sottodirectory, organizzate dal programmatore secondo un qualche criterio Il compilatore e la JVM devono sapere dove si trovano le librerie per poter reperire, a partire dalle direttive di importazione, le classi utilizzate in un programma G. Grossi Tutorial Istallazione di Java Uso dei package CLASSPATH (2) Il compilatore e la JVM sanno giù dove trovare i package forniti con la distribuzione di Java. Per i package aggiunti dall’utente bisogna indicare dove si trovano, definendo opportunamente la variabile di sistema CLASSPATH E’ una variabile di sistema. Cioè una variabile il cui valore è memorizzata dal sistema operativo, e che viene utilizzata dal compilatore e dalla JVM per reperire informazioni sull’ambiente all’interno del quale vengono eseguiti. Contiene una lista di directory separatare da un carattere: ; - nei sitemi Windows : - nei sitemi Unix (Linux) G. Grossi Tutorial Istallazione di Java Uso dei package CLASSPATH (3) Se organizziamo i nostri package in una directory di nome C:\javalib allora potremmo definire CLASSPATH = .;C:\javalib; In questo modo stiamo dicendo al compilatore e alla JVM che quando importiamo una classe deve: iniziare a cercarla in . (la directory corrente)... ... se non la trova deve provare a cercarla in C:\javalib G. Grossi Tutorial Istallazione di Java Uso dei package Istallare i package prog Fornisce classi utilizzate nel libro e classi per la gestione dell’input/output I package sono contenuti nel file prog.tar del CD ROM Si tratta di un archivio da cui i file possono essere estratti mediante WinZip (tar xfv in Unix) di avere predisposto una directory di nome C:\javalib dove conservare i package Java Estraiamo i file dall’archivio all’interno di questa directory G. Grossi Tutorial Istallazione di Java Uso dei package La struttura delle directory C:\ Documentazione | javalib | prog ____________________|___________________ | | | | | Punto di ingresso c02 c03 .... utili | docs alla documentazione | | | io _____|_____ ... ... ... | | | | index.html ... ____|____ | | | Contengono i file | | ... con il bytecode delle | ConsoleInputManager.calss ConsoleOutputManager.class classi Figura: Albero delle directory G. Grossi Tutorial Istallazione di Java Uso dei package Compilatore e direttiva import import prog.io.ConsoleOutputManager Il compilatore: Individua il nome relativo del file prog\io\ConsoleOutputManager.class Forma il nome completo giustapponendo quello relativo ai percorsi specificati nella variabile CLASSPATH Se CLASSPATH = .;D:\mylib;C:\javalib; cercherà nell’ordine i file .\prog\io\ConsoleOutputManager.class D:\mylib\prog\io\ConsoleOutputManager.class C:\javalib\prog\io\ConsoleOutputManager.class G. Grossi Tutorial Istallazione di Java Uso dei package Nome completo della classe C: Percorso specificato dal CLASSPATH .... javalib .... prog io .... ConsoleOutputManager.class Percorso specificato dalla direttiva di importazione .... Figura: Path completo G. Grossi Tutorial