Hva er JNLP-filformatet?
Filer med filendelsen .jnlp inneholder data lagret med XML-syntaks. Slike data beskriver en Java-applikasjon eller applet hvis kildekode ligger på en ekstern server, ment for å startes lokalt i henhold til Java Network Launch Protocol - opprinnelig implementert av Java Web Start.
En .jnlp-fil inneholder vanligvis:
- Informasjon om applikasjonen - tittel, leverandør, beskrivelse og hjemmeside,
- Ressurser - URL-en (
codebase-attributt) der JAR-arkiv-pakkene er lagret, - Sikkerhetsinnstillinger - tillatelser som lar applikasjonen utføre visse handlinger,
- Målelement - hovedklassen og parametere for applikasjonen eller web-appleten.
En .jnlp-fil kan også inneholde mange forskjellige detaljer om krav til JRE-versjon, ikoner, snarveier og oppdateringsregler. Den fullstendige spesifikasjonen er definert av JSR-56 (Sun Microsystems / Oracle), og <jnlp>-rotelementets attributter peker tilbake til applikasjonens serverplassering. Java Web Start - den opprinnelige javaws-oppstarteren som fulgte med JRE 1.4 til og med Java 8 - ble faset ut i Java 9 (2017) og fjernet helt i Java 11 (2018). Moderne alternativer er OpenWebStart (en plattformuavhengig åpen kildekode-erstatning) og IcedTea-Web på Linux. Innholdet i en .jnlp-fil kan vises og redigeres med et hvilket som helst tekstredigeringsprogram.
Sikkerhet og trygghet
RISIKO: MEDIUMSelve JNLP-filen er inaktiv XML, men det den starter er en fullverdig Java-applikasjon for skrivebordet, historisk sett med <all-permissions/> - JNLP-vedlegg var en dokumentert vektor for phishing og skadevare på 2010-tallet nettopp fordi javaws hentet og kjørte ekstern kode. I dag er angrepsflaten liten (moderne Java kan ikke kjøre dem i det hele tatt), men alle som har OpenWebStart eller eldre Java 8 installert bør kun åpne JNLP-filer fra servere de stoler på, og sjekke codebase-URL i et tekstredigeringsprogram først. Uventede .jnlp-e-postvedlegg bør slettes.
Formatdetaljer
i et nøtteskallProgrammer som åpner JNLP-filer
Tekniske detaljer
dyp spesifikasjon| Format-type | XML-beskrivelse for applikasjonsoppstart (ren tekst) |
| XML-rotelement | `<jnlp>` med påkrevd `codebase`-attributt og valgfritt `href`-attributt |
| MIME-type | `application/x-java-jnlp-file` |
| Tegnoding | UTF-8 (standard XML; deklarert i `<?xml?>`-instruksjonen) |
| Binær signatur | Ingen - ren tekst XML; filer starter med `<?xml` etterfulgt av et `<jnlp>`-rotelement |
| Opprinnelig utvikler | Sun Microsystems (senere Oracle); standardisert som JSR-56 |
| Eldre oppstarter | `javaws` (Java Web Start), inkludert i JRE 1.4 til og med Java 8 |
| Nåværende oppstartere | OpenWebStart (plattformuavhengig, åpen kildekode); IcedTea-Web (Linux) |
| Livssyklusstatus | Java Web Start faset ut i Java 9 (2017); fjernet i Java 11 (2018) |
| JAR-referanseelement | `<jar href="..."/>` inne i `<resources>`-blokken lenker til applikasjonens `.jar`-pakker |
| Sikkerhetsbeskrivelse | `<security><all-permissions/></security>` gir full tilgang; fravær betyr sandkasse |
| JRE-versjonsmål | `<java version="..."/>` eller `<j2se version="..."/>`-element spesifiserer minimum kjøretidsmiljø |
| Støtte for frakoblet start | `<offline-allowed/>`-element tillater start uten nettverk etter første JAR-mellomlagring |
| Støttede applikasjonstyper | Standard Java-applikasjoner, applets og installasjonsutvidelser (nøstet `<extension>` JNLP) |
| JAR-mellomlagring | Oppstarteren laster ned og lagrer JAR-filer lokalt; `version`-attributt på `<jar>` muliggjør delta-oppdateringer |
| Utgitt | 2001 (Java Web Start, J2SE 1.3.1/1.4 era; standardized as JSR-56) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | jcp.org |
JNLP-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om JNLP-filer.