Was ist das JNLP-Dateiformat?
Dateien mit der Erweiterung .jnlp enthalten Daten in XML-Syntax. Diese Daten beschreiben eine Java-Anwendung oder ein Applet, dessen Quellcode sich auf einem entfernten Server befindet und das lokal gemäß dem Java Network Launch Protocol gestartet werden soll - ursprünglich implementiert durch Java Web Start.
Eine .jnlp-Datei enthält typischerweise:
- Informationen über die Anwendung - Titel, Hersteller, Beschreibung und Homepage,
- Ressourcen - die URL (Attribut
codebase), unter der die JAR-Archiv-Pakete gehostet werden, - Sicherheitseinstellungen - Berechtigungen, die der Anwendung bestimmte Aktionen erlauben,
- Zielelement - die Hauptklasse und Parameter der Anwendung oder des Web-Applets.
Eine .jnlp-Datei kann auch zahlreiche weitere Details über JRE-Versionsanforderungen, Symbole, Verknüpfungseinstellungen und Aktualisierungsrichtlinien enthalten. Die vollständige Spezifikation ist durch JSR-56 (Sun Microsystems / Oracle) definiert, und die Attribute des <jnlp>-Wurzelelements verweisen zurück auf den Server-Speicherort der Anwendung. Java Web Start - der originale javaws-Launcher, der mit JRE 1.4 bis Java 8 geliefert wurde - wurde in Java 9 (2017) als veraltet markiert und in Java 11 (2018) vollständig entfernt. Moderne Alternativen sind OpenWebStart (ein plattformübergreifender Open-Source-Ersatz) und IcedTea-Web unter Linux. Der Inhalt einer .jnlp-Datei kann mit jedem Nur-Text-Editor angezeigt und bearbeitet werden.
Sicherheit
RISIKO: MEDIUMDie JNLP-Datei selbst ist inertes XML, aber was sie startet, ist eine vollständige Desktop-Java-Anwendung, historisch mit <all-permissions/> - JNLP-Anhänge waren in den 2010er-Jahren ein dokumentierter Phishing-/Malware-Vektor, weil javaws entfernten Code herunterladet und ausführt. Heute ist die Angriffsfläche klein (modernes Java kann sie überhaupt nicht ausführen), aber alle, die OpenWebStart oder das ältere Java 8 installiert haben, sollten JNLP-Dateien nur von vertrauenswürdigen Servern öffnen und die codebase-URL zuerst in einem Texteditor prüfen. Unerwartete .jnlp-E-Mail-Anhänge sollten gelöscht werden.
Formatdetails
kurz gefasstProgramme zum Öffnen von JNLP-Dateien
Technische Details
technische Spezifikation| Formattyp | XML-Anwendungsstarter-Deskriptor (Nur-Text) |
| XML-Wurzelelement | `<jnlp>` mit erforderlichem `codebase`-Attribut und optionalem `href`-Attribut |
| MIME-Typ | `application/x-java-jnlp-file` |
| Zeichenkodierung | UTF-8 (Standard-XML; deklariert in der `<?xml?>`-Verarbeitungsanweisung) |
| Binärsignatur | Keine - Nur-Text-XML; Dateien beginnen mit `<?xml`, gefolgt von einem `<jnlp>`-Wurzelelement |
| Ursprünglicher Entwickler | Sun Microsystems (später Oracle); standardisiert als JSR-56 |
| Legacy-Launcher | `javaws` (Java Web Start), mitgeliefert mit JRE 1.4 bis Java 8 |
| Aktuelle Launcher | OpenWebStart (plattformübergreifend, Open-Source); IcedTea-Web (Linux) |
| Lebenszyklus-Status | Java Web Start in Java 9 (2017) als veraltet markiert; in Java 11 (2018) entfernt |
| JAR-Referenzelement | `<jar href="..."/>` innerhalb des `<resources>`-Blocks verknüpft die `.jar`-Pakete der Anwendung |
| Sicherheitsdeskriptor | `<security><all-permissions/></security>` gewährt vollständigen Zugriff; fehlt es, läuft die App in der Sandbox |
| JRE-Versions-Targeting | `<java version="..."/>` oder `<j2se version="..."/>` gibt die Mindest-Laufzeitumgebung an |
| Offline-Start-Unterstützung | `<offline-allowed/>` erlaubt den Start ohne Netzwerk nach anfänglichem JAR-Caching |
| Unterstützte Anwendungstypen | Standard-Java-Anwendungen, Applets und Installer-Erweiterungen (verschachtelte `<extension>` JNLP) |
| JAR-Caching | Der Launcher lädt JARs herunter und speichert sie lokal im Cache; das `version`-Attribut auf `<jar>` ermöglicht Delta-Updates |
| Veröffentlicht | 2001 (Java Web Start, J2SE 1.3.1/1.4 era; standardized as JSR-56) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | jcp.org |
JNLP-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu JNLP-Dateien.