Hvad er JNLP-filformatet?
Filer med filendelsen .jnlp indeholder data gemt ved hjælp af XML-syntaks. Disse data beskriver en Java-applikation eller applet, hvis kildekode ligger på en fjernserver, beregnet til at blive startet lokalt i henhold til Java Network Launch Protocol - oprindeligt implementeret af Java Web Start.
En .jnlp-fil indeholder typisk:
- Information om applikationen - titel, leverandør, beskrivelse og hjemmeside,
- Ressourcer - den URL (
codebase-attribut), hvor JAR-arkiv pakkerne er placeret, - Sikkerhedsindstillinger - tilladelser, der lader applikationen udføre bestemte handlinger,
- Målelement - hovedklassen og parametre for applikationen eller web-appletten.
En .jnlp-fil kan også indeholde mange forskellige detaljer om JRE-versionskrav, ikoner, genvejspræferencer og opdateringspolitikker. Den fulde specifikation er defineret af JSR-56 (Sun Microsystems / Oracle), og <jnlp>-rodelementets attributter peger tilbage på applikationens serverplacering. Java Web Start - den originale javaws-starter, der fulgte med JRE 1.4 til og med Java 8 - blev udfaset i Java 9 (2017) og fjernet helt i Java 11 (2018). Moderne alternativer er OpenWebStart (en open source-erstatning til flere platforme) og IcedTea-Web på Linux. Indholdet af en .jnlp-fil kan ses og redigeres med enhver almindelig teksteditor.
Sikkerhed og tryghed
RISIKO: MEDIUMSelve JNLP-filen er inaktiv XML, men det, den starter, er en fuld desktop Java-applikation, historisk med <all-permissions/> - JNLP-vedhæftninger var en dokumenteret phishing/malware-vektor i 2010'erne, netop fordi javaws ville hente og eksekvere ekstern kode. I dag er angrebsfladen lille (moderne Java kan slet ikke køre dem), men alle med OpenWebStart eller forældet Java 8 installeret bør kun åbne JNLP-filer fra servere, de stoler på, og tjekke codebase-URL'en i en teksteditor først. Uventede .jnlp-vedhæftninger i e-mails bør slettes.
Formatdetaljer
kort fortaltProgrammer der åbner JNLP-filer
Tekniske detaljer
dyb specifikation| Formattype | XML-applikationsstartbeskrivelse (almindelig tekst) |
| XML-rodelement | `<jnlp>` med påkrævet `codebase`-attribut og valgfri `href`-attribut |
| MIME-type | `application/x-java-jnlp-file` |
| Tegnkodning | UTF-8 (standard XML; deklareret i `<?xml?>`-instruktionen) |
| Binær signatur | Ingen - almindelig tekst XML; filer starter med `<?xml` efterfulgt af et `<jnlp>`-rodelement |
| Oprindelig udvikler | Sun Microsystems (senere Oracle); standardiseret som JSR-56 |
| Forældet starter | `javaws` (Java Web Start), inkluderet i JRE 1.4 til og med Java 8 |
| Nuværende startere | OpenWebStart (multiplatform, open source); IcedTea-Web (Linux) |
| Livscyklusstatus | Java Web Start udfaset i Java 9 (2017); fjernet i Java 11 (2018) |
| JAR-referenceelement | `<jar href="..."/>` inde i `<resources>`-blokken linker til applikationens `.jar`-pakker |
| Sikkerhedsbeskrivelse | `<security><all-permissions/></security>` giver fuld adgang; fravær betyder sandkasse-tilstand |
| JRE-versionsmål | `<java version="..."/>` eller `<j2se version="..."/>` element specificerer minimum runtime |
| Understøttelse af offline-start | `<offline-allowed/>` element tillader start uden netværk efter indledende JAR-caching |
| Understøttede applikationstyper | Standard Java-applikationer, applets og installationsudvidelser (indlejret `<extension>` JNLP) |
| JAR-caching | Starteren downloader og cacher JAR-filer lokalt; `version`-attribut på `<jar>` muliggør delta-opdateringer |
| Udgivet | 2001 (Java Web Start, J2SE 1.3.1/1.4 era; standardized as JSR-56) |
| Åben standard | Ja · royaltyfri |
| Specifikation | jcp.org |
JNLP-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om JNLP-filer.