2014-11-14 15 views
7

Ich habe eine JNLP, die eine Desktopverknüpfung zu meiner Anwendung unter Java 1.7 erstellt. Wenn ich es jedoch unter Java 1.8 ausführe, erhalte ich die Desktopverknüpfung nicht mehr. Was hat sich verändert?JNLP erstellt keine Desktopverknüpfung auf Java 1.8-Clients

Hier ist ein Beispiel, dass ich getestet unter Windows XP, Windows 7 und OS X Yosemite, alle Java 1.7 ausgeführt und es erstellt die Desktopverknüpfung für alle drei, aber auf Windows 7 und Windows 8 mit Java 1.8 ich don Erhalte die Verknüpfung auf dem Desktop nicht. Nur um klar zu sein, die App erscheint und funktioniert gut, nur die Desktop-Verknüpfung wird nicht erstellt.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc.//DTD JNLP 1.5//EN" "http://www.netbeans.org/jnlp/DTD/jnlp.dtd"> 
<jnlp codebase="http://services.SportsOptions.com/test/" href="test.jnlp"> 
    <information> 
    <title>test</title> 
    <vendor>test.com</vendor> 
    <homepage href="http://www.test.com/"/> 
    <description>Test</description> 
    <icon href="splash.png" kind="splash"/> 
    <offline-allowed/> 
    <shortcut online="true"> 
     <desktop/> 
     <menu submenu="test" /> 
    </shortcut> 
    </information> 
    <information os="Linux"> 
    <icon href="DesktopIcon.ico" kind="shortcut" /> 
    </information> 
    <information os="Windows"> 
    <icon href="DesktopIcon.ico" kind="shortcut" /> 
    </information> 
    <information os="Mac"> 
    <icon href="DesktopIcon.icns" kind="shortcut" /> 
    </information> 
    <resources locale="" os=""> 
    <j2se href="http://java.sun.com/products/autodl/j2se" initial-heap-size="32m" max-heap-size="512m" version="1.6+"/> 
    <jar download="eager" href="Test.jar" main="false" version=""/> 
    </resources> 
    <application-desc main-class="test.Main"/> 
</jnlp> 
+0

Ich zog Ihre Lösung aus Ihrer Frage heraus und postete sie als [Community Wiki] (http://meta.stackexchange.com/q/11740/147573) Antwort. Fühlen Sie sich frei, es mit zusätzlichen Details zu bearbeiten, wenn Sie möchten. – dimo414

Antwort

1

OP-Lösung:

In Java 1.7, die <information> Tag ohne os Attribut für alle gemeinsamen Informationen gelesen wurde, und es auch den <information os="..."> Tag gelesen, die die <icon> Tag enthalten für jedes einzelne Betriebssystem. In Java 1.8, sobald er sieht den <information> Tag ohne os Attribut, liest es nicht den ein mit das os Attribut, das ist, wo ich das Symbol für die Desktop-Verknüpfung hatte. Also musste ich drei separate <information os="..."> Tags erstellen, eins für jedes Betriebssystem, aber mit allen gemeinsamen Informationen, die in jedem dupliziert wurden.

Verwandte Themen