# Anwendung über Webstart + Libraries



## Imrazor (28. Feb 2007)

Hallo!

Ich hab folgendes Problem:

Eine Anwendung soll per Webstart geladen und ausgeführt werden. Mach ich dies, bekomm ich folgende Fehlermeldung:

Unerwartete Ausnahme: java.lang.reflect.InvocationTargetException

java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.sun.javaws.Launcher.executeApplication(Launcher.java:1154)
	at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1101)
	at com.sun.javaws.Launcher.continueLaunch(Launcher.java:944)
	at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:515)
	at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
	at com.sun.javaws.Launcher.run(Launcher.java:165)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
	at fhdeg.eicl.ui.Main_Frame.<clinit>(Main_Frame.java:133)
	at fhdeg.eicl.MainClass.main(MainClass.java:60)
	... 11 more

Wenn ich das richtig sehe, fehlen ihm die Libraries, die zur Ausführung nötig sind, oder?

Jetzt stellt sich mir die Frage, wie kann ich diese Libraries (Jar-Files) mit übertragen lassen? Mit nativelib?

Sind halt doch 19 Jar-Files. Kann man die vielleicht irgendwie zusammenfügen?


----------



## Wildcard (28. Feb 2007)

Du musst jars in der JNLP angeben. Hier mal ein Beispiel:
http://www.cokeandcode.com/info/webstart-howto.html


----------



## Imrazor (1. Mrz 2007)

Danke für den Hinweis zu der Seite.

Hab jetzt alle JARs der Bibliotheken angegeben und sie auch signiert (inklusive der JAR des Programms).

Ich krieg jedoch wieder genau den selben Fehler wie oben.

Das Programm an sich lässt sich lokal einwandfrei starten, also muss es am Webstart liegen.

Die Dateien werden alle geladen und validiert und beim Ausführen tritt dann wieder der Fehler auf.

Hier mal der Inhalt meiner JNLP Datei, vielleicht hilft das was:


```
<?xml version="1.0" encoding="utf-8"?>


<jnlp codebase="http://localhost/webstart" href="wstest.jnlp">

<information>
	<title>Webstartdemo</title>
	<vendor>Blabla</vendor>
	<homepage href="http://www.blabla.de"/>
	<description>TEST</description>
	<icon href="icon.jpg"/>
	<offline-allowed/>
</information>

<information locale="de">
	<description>Demo</description>
	<offline-allowed/>
</information>

<security>
	<all-permissions/> 
</security>

<resources>
<j2se version="1.3+"/>
<jar href="calimero-0.0.1.jar"/>
<nativelib href="lib/ant-antlr-1.6.5.jar"/>
<nativeliv href="lib/antlr-2.7.6rc1.jar"/>
<nativeliv href="lib/asm-attrs.jar"/>
<nativeliv href="lib/asm.jar"/>
<nativeliv href="lib/c3p0-0.9.0.jar"/>
<nativeliv href="lib/cglib-2.1.3.jar"/>
<nativeliv href="lib/commons-collections-2.1.1.jar"/>
<nativeliv href="lib/commons-logging-1.0.4.jar"/>
<nativeliv href="lib/concurrent-1.3.2.jar"/>
<nativeliv href="lib/dom4j-1.6.1.jar"/>
<nativeliv href="lib/ehcache-1.1.jar"/>
<nativeliv href="lib/hibernate3.jar"/>
<nativeliv href="lib/hsqldb.jar"/>
<nativeliv href="lib/jacc-1_0-fr.jar"/>
<nativeliv href="lib/jaxen-1.1-beta-7.jar"/>
<nativeliv href="lib/jdbc2_0-stdext.jar"/>
<nativeliv href="lib/jta.jar"/>
<nativeliv href="lib/log4j-1.2.11.jar"/>
<nativeliv href="lib/xml-apis.jar"/>
</resources>

<application-desc main-class="fhdeg.eicl.MainClass"/>

</jnlp>
```


----------



## Wildcard (1. Mrz 2007)

Warum hast du alle jars als nativelib angegeben (bzw. nativeliv?)?  :autsch:


----------



## Imrazor (1. Mrz 2007)

Ups, das heißt natürlich "nativelib", hab mich da vertippt gehabt...

Wieso, wie muss man es denn sonst angeben? Als "jar href="?


----------



## Wildcard (1. Mrz 2007)

Wenn es keine native-lib ist, dann ja.
Und nach native libs sieht mir das nicht aus  :wink:


----------



## Imrazor (1. Mrz 2007)

Sorry, ich hab mit Webstart eher weniger Erfahrung...

Es sind halt zusätzliche Librariers die benötigt werden. Also werden sie mit "jar href="..."" angegeben?


----------



## Wildcard (1. Mrz 2007)

Imrazor hat gesagt.:
			
		

> Als werden sie mit "jar href="..."" angegeben?


Ja. Steht ja auch in dem Link den ich dir gab  :wink:


----------



## Imrazor (1. Mrz 2007)

Ein riesen Danke!

Jetzt funktioniert es ;-)


----------

