Web Start Schema



  • Hi,

    ich bekomme von Webstart beim Lesen meiner Jnlp-Datei einen Fehler angezeigt:

    MissingFieldException[ Das folgende erforderliche Feld fehlt in der Startdatei: <jnlp>(<application-desc>|<applet-desc>|<installer-desc>|<component-desc>)]
    at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at com.sun.javaws.Main.launchApp(Unknown Source)
    at com.sun.javaws.Main.main(Unknown Source)

    Die Datei hab mir von Sun kopiert und ein bissl in Eclipse editiert. Leider kennt Eclispe dieses Format nicht. Kennt ihr einen Weg, die Datei gegen ein Schema zu prüfen (hab keins im Netz gefunden, Links tot) oder anderweitig von Eclispe prüfen zu lassen?

    Grüße,
    don_basto.



  • Ok, die nächste Runde. Die Fehlerausgaben sind für mich so nichtssagend ..

    Ausnahme:

    JNLPException[category: Download-Fehler : Exception: java.io.IOException: HTTP response 404 : LaunchDesc: null ]
    at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
    at com.sun.javaws.cache.DownloadProtocol.isLaunchFileUpdateAvailable(Unknown Source)
    at com.sun.javaws.LaunchDownload.getUpdatedLaunchDesc(Unknown Source)
    at com.sun.javaws.Launcher.downloadResources(Unknown Source)
    at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
    at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
    at com.sun.javaws.Launcher.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    Gekapselte Ausnahme:

    java.io.IOException: HTTP response 404
    at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
    at com.sun.javaws.cache.DownloadProtocol.isLaunchFileUpdateAvailable(Unknown Source)
    at com.sun.javaws.LaunchDownload.getUpdatedLaunchDesc(Unknown Source)
    at com.sun.javaws.Launcher.downloadResources(Unknown Source)
    at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
    at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
    at com.sun.javaws.Launcher.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    Wie interpretiert man sowas?



  • mit try und catch!
    da steht doch error 404 page not found, falls du dich mit HTML ein wenig auskennst müsste das klar werden, und wenn du java programmierst solltest du dir IMMER zu den funktionen die du benutzt die API ansehen, da steht dann immer sowas wie "throws IOException if blabla"

    geh jetzt gleich am besten ins internet suche nach java tutorials die sich mit dem exceptionhandling auseinander setzen und lies dir dort ein wenig wissen an.
    desweiteren solltest ehe du fragst immer einen blick in die java api werfen
    http://java.sun.com/reference/api/
    da findest du mehr als genug apis für jede entwicklungsumgebung, schön strukturiert



  • Naja, die Exception kommt von "javaws", da ist vermutlich das JNLP noch nicht korrekt. So wie ich den Post verstehe, startet das Programm garnicht erst.

    Bei einer 404 würde ich mal alle Addressen in dem JNLP überprüfen, irgendeine davon wird nicht gefunden.



  • stimmt, mein fehler. dennoch finde ich die exceptionaussagen ausreichend aussagekräftig, sofern man HTML kennt, btw. sich durch das JNLP tutorial mal etwas mehr als nur mit c&p durcharbeitet.



  • Das Problem liegt hierbei beim JNLP, genauer beim Skript. Ich finde die Fehlermeldung deswegen sinnlos, weil sie mir bloss sagt, das ich einen Pfad falsch gesetzt hab, aber nicht wo bzw. wie die konkrete Pfadangabe aussieht etc. Und innerhalb des Skripts gibt's nicht nur eine Pfadangabe!

    Vllt. hat hier jemand schon ein Skript geschrieben kennt die gängigen Fehlerquellen und Hilfsmittel. Bin immer noch am durchhangeln.



  • Mach halt ein Log wo Du wichtige Daten hineinschreibst (zB. die Pfade). Du siehst dann schon wo es "knallt".
    Bastel dir selber eines ober benutze Log4J oder sowas. Für die Release-Version kannst Du es dann ja wieder abschalten.



  • Das Problem ist erstmal gelöst. Jetzt muss ich mich mit dem SecurityManager rumärgern. 😉

    @noobie: Wie soll das gehen? Web Start ist ein Service der JRE und wird über ein Skript gesteuert. Ich hab dafür keine Zeile Java-Kode geschrieben, nur das Skript! Wie soll ich jetzt log4j einsetzen? Wie soll an die von Web Start implementierten Pfade rankommen?

    Grüße,
    don_basto.



  • Weiß zufällig jemand, wo bzw. wie Jars bei Web Start gecached werden? Hab nach den Jars auf meinem Client gesucht, aber nichts gefunden..



  • Einfach mal so javaws eingeben. 😉


Log in to reply