Vad är filformatet JNLP?
Filer med filändelsen .jnlp innehåller data lagrad med XML-syntax. Denna data beskriver en Java-applikation eller applet vars källkod finns på en fjärrserver, avsedd att startas lokalt enligt Java Network Launch Protocol - ursprungligen implementerat av Java Web Start.
En .jnlp-fil innehåller vanligtvis:
- Information om applikationen - titel, leverantör, beskrivning och hemsida,
- Resurser - den URL (
codebase-attribut) där JAR-arkiv finns lagrade, - Säkerhetsinställningar - behörigheter som tillåter applikationen att utföra vissa åtgärder,
- Målelement - huvudklassen och parametrar för applikationen eller webb-appleten.
En .jnlp-fil kan också innehålla många olika detaljer om krav på JRE-version, ikoner, inställningar för genvägar och uppdateringspolicyer. Den fullständiga specifikationen definieras av JSR-56 (Sun Microsystems / Oracle) och rotelementet <jnlp>:s attribut pekar tillbaka till applikationens serverplats. Java Web Start - den ursprungliga javaws-startaren som följde med JRE 1.4 till och med Java 8 - fasades ut i Java 9 (2017) och togs bort helt i Java 11 (2018). Moderna alternativ är OpenWebStart (en plattformsoberoende ersättning med öppen källkod) och IcedTea-Web på Linux. Innehållet i en .jnlp-fil kan visas och redigeras med valfri textredigerare.
Säkerhet & trygghet
RISK: MEDIUMSjälva JNLP-filen är inert XML, men det den startar är en fullständig Java-applikation för skrivbordet, historiskt med <all-permissions/> - JNLP-bilagor var en dokumenterad vektor för nätfiske och skadlig kod under 2010-talet just för att javaws hämtade och körde fjärrkod. Idag är attackytan liten (modern Java kan inte köra dem alls), men alla som har OpenWebStart eller äldre Java 8 installerat bör endast öppna JNLP-filer från servrar de litar på, och kontrollera codebase-URL i en textredigerare först. Oväntade .jnlp-bilagor i e-post bör raderas.
Formatdetaljer
i ett nötskalProgram som öppnar JNLP-filer
Tekniska detaljer
djup specifikation| Formattyp | XML-beskrivning för applikationsstart (klartext) |
| Root XML-element | `<jnlp>` med obligatoriskt `codebase`-attribut och valfritt `href`-attribut |
| MIME-typ | `application/x-java-jnlp-file` |
| Teckenkodning | UTF-8 (standard XML; deklarerad i `<?xml?>`-instruktionen) |
| Binär signatur | Ingen - XML i klartext; filer börjar med `<?xml` följt av ett `<jnlp>`-rotelement |
| Ursprunglig utvecklare | Sun Microsystems (senare Oracle); standardiserad som JSR-56 |
| Äldre startprogram | `javaws` (Java Web Start), medföljde JRE 1.4 till och med Java 8 |
| Nuvarande startprogram | OpenWebStart (plattformsoberoende, öppen källkod); IcedTea-Web (Linux) |
| Livscykelstatus | Java Web Start fasades ut i Java 9 (2017); togs bort i Java 11 (2018) |
| JAR-referenselement | `<jar href="..."/>` inuti `<resources>`-blocket länkar applikationens `.jar`-paket |
| Säkerhetsbeskrivning | `<security><all-permissions/></security>` ger full åtkomst; avsaknad innebär sandlåda |
| JRE-versionsmål | `<java version="..."/>` eller `<j2se version="..."/>` element specificerar lägsta körtidsmiljö |
| Stöd för offline-start | `<offline-allowed/>` element tillåter start utan nätverk efter initial JAR-cachning |
| Applikationstyper som stöds | Standard Java-applikationer, applets och installationstillägg (nästlad `<extension>` JNLP) |
| JAR-cachning | Startprogrammet laddar ner och cachar JAR-filer lokalt; `version`-attribut på `<jar>` möjliggör delta-uppdateringar |
| Släppt | 2001 (Java Web Start, J2SE 1.3.1/1.4 era; standardized as JSR-56) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | jcp.org |
JNLP-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om JNLP-filer.