Puh... ich bin grad irgendwie überfordert mit meinem Englisch. Wenn ich es richtig verstehe, ist die JNLP-Datei eine *.xml-Datei, mit der man über Java-Befehle kommunizieren kann. Kann mir da jemand bitte ein Beispiel zeigen? Ich währe sehr, sehr, sehr Dankbar.
Die JNLP-Datei gehört zu Java Webstart. Das ist eine Java-Technologie um Java Anwendungen sehr einfach zu verteilen, zu installieren und zu starten. In der JNLP-Datei werden dazu Informationen hinterlegt, z.B. woher die Anwendung Updates beziehen kann, ob eine Verknüpfung im Startmenü angelegt werden soll, mit welchen VM-Parametern gestartet werden soll, oder eben ob die Anwendung mit bestimmten Dateitypen verknüpft werden soll.
Webstartanwendungen laufen in der Sandbox. Die JNLP-API bietet Methoden, um auch aus dieser Sandbox heraus mit dem System interagieren zu können. Alternativ kann die Anwendung auch signiert werden und darf dann "alles" (genau wie jede lokal installierte Anwendung auch).
Ich habe mir die Verknüpfung zu bestimmten Dateitypen aus der JNLP-Datei heraus inzwischen mal angesehen. Das läuft problemlos.
Meine Test-
JNLP-Datei und die zugehörige
"Anwendung".
Beim ersten Start der Anwendung wird beim Nutzer nachgefragt, ob dieser den Dateityp entsprechend verknüpfen möchte, das sieht dann so aus:
Legt man anschließend eine dateiname.xyz Datei an, kann diese anschließend einfach per Doppelklick geöffnet werden. Spätestens nach einmal neu starten trägt die Datei auch das Icon der Anwendung (oder wann immer Windows merkt das es da ein neues Icon zu gibt).
Zum selbst lokal testen einfach auf
diesen Link klicken (sollte mit Java Webstart geöffnet werden). (Ist für Java 7 kompiliert, notfalls bietet Webstart auch ein Update der JRE an. Grundsätzlich geht das aber auch alles mit Java 6.)
Unter Linux funktioniert das mit der original Oracle JRE genau so (nur unter Fedora/Gnome 3 getestet). Mit IcedTea jedoch leider nicht.
Viele Grüße,
Fancy