Un archivio Java[1] (o JAR[1], abbreviazione di Java archive[2]) è un file archivio contenente classi Java e altre risorse necessarie all'esecuzione di applicazioni o applet.[1]
Il formato è basato su ZIP[3], sebbene contenga una directory denominata "META-INF".[4] Nei sistemi operativi Microsoft Windows e Solaris, in presenza di un Java Runtime Environment, vengono trattati come eseguibili.[2]
Descrizione
Vantaggi
L'utilizzo di questi archivi ha molteplici benefici:
- Compressione: con l'archiviazione si riesce a ridurre sensibilmente il numero di file arrivando anche ad un unico file jar[5]. Questo metodo, infatti, è largamente diffuso per applicazioni di tipo Applet, dato che diminuisce il tempo di caricamento e quindi il carico di rete e server[5].
- Firma: all'interno del file jar è possibile anche salvare informazioni aggiuntive come l'autore del pacchetto[6].
- Estensione: essendo l'archivio visto come package dal linguaggio, può essere espanso e quindi generare da esso altri package, classi e interfacce[5].
- Portabilità: i file compressi restano in tutto e per tutto uguali agli originali e quindi utilizzabili su tutte le piattaforme che contengono la Java Virtual Machine (JVM)[7].
- Documentazione: il programma JavaDoc è comunque in grado di autodocumentare il contenuto dell'archivio compresso [8].
Creazione di una raccolta
Per la creazione di un archivio jar si utilizza la seguente istruzione da linea di comando[9]:
jar cf nomeArchivio fileOPackage
Note
Voci correlate
Collegamenti esterni
- (EN) Denis Howe, JAR, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
- (EN) Java Archive (JAR) Files, su Java SE 8 Documentation, Oracle. URL consultato il 7 luglio 2023.
- (EN) JAR File Overview, su Java SE 8 Documentation, Oracle. URL consultato il 7 luglio 2023.
- (EN) JAR File Specification, su JDK 20 Documentation, Oracle. URL consultato il 7 luglio 2023.
- (EN) Lesson: Packaging Programs in JAR Files, su The Java Tutorials, Oracle. URL consultato il 7 luglio 2023.
- (EN) JEP 238: Multi-Release JAR Files, su OpenJDK.