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
- versio sisältyy luokan kirjastoja , jotka voidaan määrittää at suorituksen ,
- Tietoja mukana olevista JavaBeans-tiedostoista ja
- sisältyvän Java-sovelluksen pääluokan nimi .
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 .