Java-arkisto

Java Archive (puhekielessä kutsutaan JAR tiedosto tiedostojärjestelmän laajennus ) käytetään järjestää, jakaa ja antaa luokkakirjastoista ja suoritettavat ohjelmat, jotka on luotu Java -ohjelmointikielellä . Teknisesti se on pakattu tiedosto ZIP- muodossa. Arkisto sisältää käännetyt Java-luokat ( tavukoodi ) ja mahdollisesti muita resursseja. Se sisältää yleensä myös yhden tai useampia metatietoja sisältäviä tiedostoja . Näillä on ennalta määritetyt nimet ja rakenteet, ja ne sijaitsevat hakemistossa META-INF. Tyypillinen tiedosto META-INF/MANIFEST.MFon kuvattu tarkemmin Manifest- osassa . Arkiston lyhyt nimi voidaan ymmärtää pelaamaan sanoja, joissa on englanninkielinen sana jar (saksa: "alus").

käyttää

JAR-tiedostot otettiin alun perin käyttöön, jotta Java-sovelmien edellyttämiä Java- luokkia ei tarvitse ladata erikseen verkosta. Monien luokkien siirtäminen yhteen tiedostoon on tehokkaampaa, ja lisäksi tiedostot voidaan pakata .

"Luettelotiedostoa" voidaan käyttää määrittämään, miten Java-sovellus käynnistetään. Tämä tarkoittaa , että sovellus voidaan käynnistää myös graafisilla käyttöliittymillä, kuten Windows , Mac OS X tai KDE ilman komentorivin apua (edellyttäen, .jarettä asianmukainen komento on määritetty tiedostopääteelle ). Kanssa java -jarvoit aloittaa JAR-tiedostot komentoriviltä . JAR-arkistot tallentavat tiedostonimet sisäisesti UTF-8-koodaukseen, jotta ne voivat sisältää myös umlautteja. Edellytys JAR-tiedostojen tai Java-ohjelmien suorittamiselle on aina asennettu Java Runtime Environment .

JAR-tiedostot voidaan luoda JDK: n jar- komennolla (joka käyttää tar- syntaksia ) tai, jos tiedostonimet sisältävät vain ASCII-merkkejä, millä tahansa ZIP-ohjelmalla. Lisäksi Java Platform, Standard Edition tarjoaa kahdessa paketissa "java.util.jar" ja "java.util.zip" luokan lukea tai luoda JAR- tai ZIP-arkistoja.

Esimerkiksi seuraava komento näyttää JAR-tiedoston, jonka nimi on test.jar, sisällön .

jar tvf test.jar

Tässä tapauksessa kirjain T for "Sisältö View" (on Englanti t pystyvät sisällysluettelo ), v ja laveasti (ja Englanti v erbose ) ja f todetaan (englanti tiedostosta f Ile ) on luettava jonka nimi on seuraavana .

selvä

Jokainen Java-arkisto voi antaa erilaisia ​​tietoja META-INF-hakemiston arkiston sisällöstä tiedoston "MANIFEST.MF" avulla. Tärkeimmät metatiedot sisältävät

Tämä luettelotiedosto on yksinkertainen viivakohtainen tekstitiedosto, joka sisältää useita nimi- ja arvopareja, joista kukin määrittelee ns. Attribuutin . Attribuutti on koko sovelluksen ominaisuus, luokkakirjasto sisälsi tai jopa vain yhden Java-paketin ( paketin ) tai yhden luokan . Lisäksi se on jaettu useaan osaan ( jaettu osioihin ).

Ensimmäistä osaa kutsutaan pääosaksi, ja se määrittelee attribuutit, jotka koskevat koko Java-arkistoa. Se alkaa aina "Manifest Version" -attribuutin määrittelystä, kun taas muut määritteet ovat valinnaisia. Seuraavat kohdat viittaavat yhteen pakettiin tai luokkaan ja ovat valinnaisia, samoin kuin niiden sisältämät attribuutit. Tuntemattomat määritteet ohitetaan, eivätkä ne aiheuta virheilmoituksia. Jos attribuutti määritetään sekä pääosassa että yksittäisessä osiossa, yksittäisessä osassa määritetty arvo peittää pääosassa ennalta määritetyn arvon komponentille (paketille tai luokalle), johon osio liittyy.

esimerkki

Seuraava esimerkki näyttää otteen Java 1.4-ajonaikaisen ympäristön rt.jar-tiedostosta.

Manifest-Version: 1.0
Specification-Title: Java Platform API Specification
Created-By: 1.4.2_05 (Sun Microsystems Inc.)
Implementation-Title: Java Runtime Environment
Specification-Vendor: Sun Microsystems, Inc.
Specification-Version: 1.4
Implementation-Version: 1.4.2_05
Implementation-Vendor: Sun Microsystems, Inc.

Name: javax/swing/JRadioButtonMenuItem.class
Java-Bean: True

Name: javax/swing/JList.class
Java-Bean: True

Tämän esimerkin pääosa osoittaa, että tämä luettelo on rakennettu Sun Microsystems JAR -tiedostomäärittelyn versiossa 1 kuvatulla tavalla (ainoa toistaiseksi). Tämän pääosan muut määritteet antavat tietoja kirjaston täyttämistä määrityksistä , Java-arkiston tuottajasta, toteutuksen nimen sekä käytetyn määrityksen valmistajan ja version sekä sen sisältämän toteutuksen. Seuraavat kaksi esimerkin osaa viittaavat luokkaan, joka on merkitty JavaBean-koodiksi .

Johdetut muodot

JAR-muodon erikoisaloja ovat esimerkiksi WAR-tiedostot ( Web Application Archive ), EAR-tiedostot ( Enterprise Application Archive ) tai OpenDocument- tiedostot.

Apuohjelmat

Java Development Kit sisältää useita ohjelmia manipuloimalla JAR-tiedostot:

purkki
jar on ohjelma JAR-tiedostojen luomiseen, muokkaamiseen ja purkamiseen, joiden parametrit ovat samanlaisia ​​kuin tunnetun Unix-ohjelman tar .
jarrsigner
jarsigner on ohjelma, joka allekirjoittaa JAR-tiedostot ja tarkistaa niiden sähköisen allekirjoituksen.
pakkaus200
pack200 muuntaa JAR-tiedostot tiedostomuotoon, joka voi tallentaa tavukoodia tehokkaammin. Se esiteltiin Java 5: ssä ja sitä käytetään erityisesti Java Web Start -sovelluksen kanssa , koska voi olla tarpeen siirtää suuria määriä tiedostoja Internetin kautta . Uudelleenmuunnos tapahtuu ohjelman purku 200 avulla .

Ohjelmointityökalut JAR-tiedostoille, joita ei ole JDK: ssa:

ProGuard
ProGuard on ohjelma JAR-tiedostojen pakkaamiseen, optimointiin ja hämärtämiseen . Tämä saavutetaan yksityiskohtaisemmalla tavukoodin analyysillä .
pakkaaja
Jos arkistossa olevat tiedostonimet koostuvat ASCII-merkeistä, JAR-tiedostoja voidaan muokata millä tahansa ohjelmistotyökalulla, joka voi myös muokata ZIP- tiedostoja. Joitakin esimerkkejä on tietojen pakkausohjelmien luettelossa .

nettilinkit