# Web Start / jnlp datei



## Rainbow (6. Aug 2009)

HI,
also jetzt verusche ich grad eine erste Java Web Start anwendung zu schreiben...hab mir das mal bei einer Seite angeschaut und versucht zu starten.
Die Anwednung kann nicht gestartet werden, das dürfte an meiner jnlp Datei liegen.

Diese sieht so aus:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost/">
<information>
	<title>Test Java Web Start Application</title>
	<vendor></vendor/>
	<homepage href="http://localhost.test.html" />
	<description>Test application</description>
</information>
<offline-allowed/>
<security>
	<all-permissions/>
</security>
<resources>
	<j2se version="1.2+" />
	<jar href="WebStart.jar"/>
</resources>
<application-desc main-class="webstartSample.WebStartProgram"/>
</jnlp>[/XML]

ich weiß auch nicht genau ob das alles so richtig ist, hab mir die datei mit Hilfe eines Beispiels geschrieben...

der Fehler der dann kommt:

```
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.continueInSecureThread(Unknown Source)
	at com.sun.javaws.Main$1.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
```


----------



## Rainbow (6. Aug 2009)

mh der codebase war falsch...


----------



## Einklang. (5. Jan 2012)

Hallo,

ich habe das gleiche Problem, was kann man denn da jetzt tun? 

besten Dank


----------



## Rainbow (5. Jan 2012)

Hi,
also ich habe nochmal nachgeschaut, wie meine Dateien letztendlich dann aussehen. Das funktioniert bei mir auch so.

[XML]
<?xml version="1.0" encoding="UTF-8"?>
  <jnlp codebase="URL zur Website">
    <information>
      <title>HelloWorld</title>
      <vendor>AUTOR</vendor>
      <offline-allowed/>
    </information>
    <resources>
      <java version="1.5+"/>
      <jar href="HelloWorld.jar"/>
    </resources>
  <application-desc main-class="de.test.webstartSample.HelloWorldWebStart"/>
</jnlp>
[/XML]

Viele Grüße
Rainbow


----------



## Einklang. (5. Jan 2012)

Aja ok ich habe von hier das Beispiel mal umgesetzt und dann die Fehleranzeige bekommen:

Building a Java Desktop Database Application - NetBeans IDE Tutorial

Wo ich das mit XML eintrage habe ich keine Ahnung. Allerdings habe ich auch erst danach den Classpath eingetragen.

Jedenfalls startet jetzt das Programm gar nicht, also auch nicht Java wie vorher. Der PC rattert nur etwas und dann bleibt alles so 

Ist übrigens eine Datei mit jar-Endung. Eine einfache "Hallo Welt" Datei mit java-Endung wird in der Befehlszeile ausgeführt. (Vorher habe ich die natürlich geparst nennt man das wohl, also mit javac ***.java)


----------



## Rainbow (5. Jan 2012)

Wie ist denn die jar-Datei aufgebaut? Ist alles richtig eingebunden?
Wie sieht die Manifest-Datei aus?
Kommt irgendeine Fehlermeldung in der Konsole?

Liebe Grüße


----------



## Einklang. (5. Jan 2012)

Puh keine Ahnung weil wie gesagt, habe ich nur das Beispiel nachgemacht und wollte damit dann weitersehen, was sich so anfangen lässt...! Da kam der Fehler dazwischen !

Ich habe nicht mehr und nicht weniger gemacht als in dem Beispiel drin steht.....! Es hat auch zur Laufzeit funktioniert, also innerhalb der IDE konnte ich das ausführen und bedienen - Datensätze einfügen, bearbeiten usw hat alles funktioniert  - dann als jar Datei nicht mehr, denn da kam die Fehlermeldung!


----------



## Rainbow (5. Jan 2012)

Deswegen stellt sich mir die Frage,wie die jar-Datei aufgebaut ist und ob die Manifest richtig ist...eine jar-Datei ist ein einfaches Archiv. Da kann man also reinschauen und gucken, wie die Datei aufgebaut ist und was in der Manifest steht.
Was steht drin?

Liebe Grüße


----------



## VfL_Freak (5. Jan 2012)

Moin,

hier mal eine Beschreibung zum Aufbau der JNLP-Datei :
Java Web Start

Gruß
Klaus


----------



## Einklang. (5. Jan 2012)

Naja wie soll ich das jetzt darstellen?


----------



## Rainbow (5. Jan 2012)

Die Manifest kann man in einem Editor anzeigen lassen und eine jar-Datei kann man wie ein Archiv entpacken.

Aber mit einer Java Webstart Anwendung hat das ganze doch gar ncihts zu tun, oder übersehe ich da jetzt was?

Liebe Grüße


----------



## Einklang. (5. Jan 2012)

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_22-b04 (Sun Microsystems Inc.)
Class-Path: lib/appframework-1.0.3.jar lib/swing-worker-1.1.jar lib/be
 ansbinding-1.2.1.jar lib/toplink-essentials.jar lib/toplink-essential
 s-agent.jar lib/derbyclient.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: carsapp.CarsApp


----------



## Rainbow (5. Jan 2012)

und welche Fehlermeldung wird angezeigt?


----------



## Einklang. (5. Jan 2012)

Kommt darauf an:
Wenn ich die jar-Datei mit der Webstart starte dann startet Java 7 und dann kommt ein Kasten "Anwendungsfehler - Anwendung kann nicht gestartet werden" und bei Details steht dann "Das folgende Pflichtfeld fehlt in der Startdatei: <jnlp>"

Wenn ich das mit der Java SE Platzform binary starte dann kommt gar nix, das Programm wird auch nicht gestartet.......


----------



## Rainbow (5. Jan 2012)

Ich seh auch noch nicht, wieso das eine Webstart Anwendung ist? Es wird laut der Fehlermeldung eine jnlp Datei benötigt, wo ist die?
Die jnlp muss doch gestartet werden und nciht die jar-Datei.
Ich seh auch nicht in dem Beispiel, das es sich um eine Webstart Anwednung handelt.
Vorhin hieß es "gleiches Problem" ...es scheint mir hier aber ein ganz anderes Problem zu sein...
Wenn es keine Webstart Anwendung ist dann muss sie mit der javaw.exe geöffnet werden.
Rechtsklick auf die .jar -> öffnen mit... -> Java Platform SE Binary
oder Standardprogramm auswählen -> Durchsuchen -> javaw.exe aus dem bin-verzeichnis der jre-installation auswählen

Viele Grüße


----------



## Einklang. (5. Jan 2012)

Hm ok aber es tut sich nix wie gesagt mit der Platform SE binary......


----------



## Rainbow (5. Jan 2012)

mal über die Konsole versucht?
java -jar CarsApp.jar

also ich mein diese Schritte:
To launch the application from the command line:

    Start Java DB from outside of the IDE.
    On your system, open up a command prompt or terminal window.
    In the command prompt, change directories to the CarsApp/dist directory.
    At the command line, type the following statement:

    java -jar CarsApp.jar


kommt da auch keine Fehlermeldung?


----------



## Einklang. (5. Jan 2012)

Da kommt jetzt ein [Toplinkinfo] und dann in der 4. oder 5. Zeile
Schwerwiegend: Application class carsapp.CarsApp failed to launch
und dann gnaz viel Schrift - immer wieder kommt "failed to launch" oder in Klammern nach den Befehlen (unknown Source) usw. als Exception


----------



## Rainbow (5. Jan 2012)

Ohne den StackTrace kann ich auch nicht sagen wo der Fehler ist...es kann alles mögliche sein.


----------



## Rainbow (5. Jan 2012)

Poste doch mal den Stacktrace...


----------



## Einklang. (5. Jan 2012)

Ok soviel Erfahrung habe ich noch nicht, wie bekomm ich den angezeigt?


----------



## Rainbow (5. Jan 2012)

Der steht in der Konsole...das "ganz viel Schrift" wird der Stacktrace sein. Da wo die Exceptions und so stehen.

Mit wenig Erfahrung hätt ich mir aber mal nen paar kleine Tutorials vorgenommen und nicht gleich ne Database Application.


----------



## Einklang. (5. Jan 2012)

So mal den Auszug aus dem Eingabefenster:








> Mit wenig Erfahrung hätt ich mir aber mal nen paar kleine Tutorials vorgenommen und nicht gleich ne Database Application.



Ich habe schon etwa Erfahrung mit der Entwicklung, aber halt nicht mit Java... ;-)


----------



## Rainbow (5. Jan 2012)

Das Programm hat keine Verbindung zum localhost mit Port 1527.

Die Datenbank läuft? Alles richtig gestartet? Das Tutorial verweist da auf diese Seite: Getting Started with Derby


----------



## Einklang. (5. Jan 2012)

ah oh ok! Also ich hatte die Datenbank in der IDE gelöscht, weil ich dachte, die wär jetzt in der Anwendung drin und wurde mit ausgeliefert... ok! 

:noe:

In der IDE muss aber der Datenbankserver laufen, der springt von der Anwendung aus nicht an....!


----------



## Rainbow (5. Jan 2012)

"To run the application outside of the IDE:

   1.  Start Java DB from outside of the IDE. See http://db.apache.org/derby/docs/dev/getstart/"

steht doch da, das man das ausserhalb starten muss 

Viele Grüße


----------



## Einklang. (5. Jan 2012)

Ja allerdings, habe ich nicht gelesen, da ich das innerhalb der IDE erstmal gemacht habe. 
Aber welcher Punkt ist das nun bei dem derby?

Ein weiteres Java Buch ist erst noch unterwegs, das die DB behandelt... ich hoff, diesmal bei einem Buch auf erklärende Worte zu treffen 

Nachtrag: Für mich ist die Einbindung der Datenbank und die Anbindung an Textfelder usw wichtiger als Rechenoperationen... ich muss/möchte erstmal Daten in einem kleinen Programm verwalten (Buchhaltung)... später will ich das Programm dann ausweiten, mit STatistiken usw.! Zum Eigengebrauch, da erhältliche Software a) sehr hohe monatliche Fixkosten bedeuten und b) nie optimal passen und c) nicht alle Arbeit erfüllen und ich daher sowieso Software selbst schreiben muss...! Daher dieser "Schnelleinstieg" - Ich kann auch jetzt nicht erstmal fröhlich ein halbes Jahr mich mit der Java Programmierung auseinandersetzen, also kleine Programme üben usw, sondern nützliche Dinge umsetzen, die ich auch brauche...


----------



## Rainbow (5. Jan 2012)

Tut mir Leid, aber davon hab ich jetzt auch keine richtige Ahnung. Datenbankanwendungen hab ich bisher nicht so geschrieben...


----------



## Einklang. (5. Jan 2012)

Ja danke kein Problem...! Datenbanken sind bei Java glaub eher stiefmütterlich behandelt... aber letztlich muss ich die nur in die Anwendung einbinden können, den Datenbankserver starten und dann ist SQL angesagt...

Mal schauen, in den nächsten Tagen bekomm ich die Infos schon zusammen, vielleicht sogar in einem verständlichen Buch


----------

