Java-Applets
Wolfgang
- java
Hi,
ich hab Probleme mit dem J2-Plugin. Bei den Applets im Nets funktioniert es wunderbar, aber sobalt sie auf meiner Patte sind, gehts schief. In der Konsole steht dann folgendes:
java.lang.ClassNotFoundException: javax.swing.JApplet
at com/ms/vm/loader/URLClassLoader.loadClass
at java/lang/ClassLoader.loadClassInternal
at java/lang/ClassLoader.resolveClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run
hmmm... komsch sieht so aus als findet er die Klassen nicht.
Ich hab die J2RE1.3.1 nochmal installiert - ohne erfolg.
Ich hoffe mir kann jemand helfen.
Ciao
Tja, ich bin mir leider nicht ganz sicher, aber die ClassnotFoundException(ist einfach eine fehlermeldung wie Datei nicht gefunden) wird von der javaVM ausgeworfen wenn die Applet Klasse(n) nicht an dem Speicherort sind wo sie hingehören. Die Applets haben intern sogenannte relative Pfade die man aber nicht nachvollziehen kann, weil Du ja den Quellcode nicht sehen kannst. So kann es also passieren, dass beim kopieren auf die Platte diese pfade nicht mehr stimmen.
Versuch folgendes:
Suche in den Html Dateien (Ansicht-Quelltext) einen Tag der wie folgt ungefähr aussieht
<applet code="AnWater.class" width=350 height=123>
<param name=image value="rain.gif">
<param name=res value="1">
<param name=light value="YES">
<param name=autodesign value="YES">
<param name=density value="6">
<param name=fishnum value="0">
<param name=cross value="Yes">
<param name=crossfactor value="20">
<param name=rainsize value="0">
<param name=rainfactor value="10">
<param name=srainsize value="0">
<param name=srainfactor value="10">
<param name=memdelay value="1000">
<param name=priority value="3">
</applet></span></center><p align="center"> <p align="center">
(ist ein Applet Aufruf in der Seite von mir)
Unter applet code ganz oben siehst du den Namen der Startklasse des Applets. diese Klasse(und alle anderen Klassen des Applets) müssen im gleichen Verzeichnis wie die aufrufende Html Seite sein.
Hi,
die HTML-Datei ist schon im gleichen Ordner...
ich hab mal eine demo von der J2SE getestet - genau das gleiche Proglem:
com.ms.security.SecurityExceptionEx[Host]: java.io.IOException: bad path: C:\Programme\jdk1.3.1\javax\swing\JApplet.class
at com/ms/security/permissions/FileIOPermission.check
at com/ms/security/PolicyEngine.deepCheck
at com/ms/security/PolicyEngine.checkPermission
at com/ms/security/StandardSecurityManager.chk
at com/ms/security/StandardSecurityManager.checkRead
at java/io/File.isDirectory
at sun/net/www/protocol/file/FileURLConnection.connect
at sun/net/www/protocol/file/FileURLConnection.getInputStream
at com/ms/vm/loader/ResourceLoader.getURLData
at com/ms/vm/loader/ResourceLoader.getCodebaseRelativeData
at com/ms/vm/loader/ResourceLoader.getClassData
at com/ms/vm/loader/URLClassLoader.findClass
at com/ms/vm/loader/URLClassLoader.loadClass
at java/lang/ClassLoader.loadClassInternal
at java/lang/ClassLoader.resolveClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/applet/AppletPanel.securedClassLoad
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run
java.lang.ClassNotFoundException: javax.swing.JApplet
at com/ms/vm/loader/URLClassLoader.loadClass
at java/lang/ClassLoader.loadClassInternal
at java/lang/ClassLoader.resolveClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/applet/AppletPanel.securedClassLoad
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run
com.ms.security.SecurityExceptionEx[Animation.prepareImageRange]: java.io.IOException: bad path: C:\Programme\jdk1.3.1\demo\applets\Animator\java\util\List.class
at com/ms/security/permissions/FileIOPermission.check
at com/ms/security/PolicyEngine.deepCheck
at com/ms/security/PolicyEngine.checkPermission
at com/ms/security/StandardSecurityManager.chk
at com/ms/security/StandardSecurityManager.checkRead
at java/io/File.isDirectory
at sun/net/www/protocol/file/FileURLConnection.connect
at sun/net/www/protocol/file/FileURLConnection.getInputStream
at com/ms/vm/loader/ResourceLoader.getURLData
at com/ms/vm/loader/ResourceLoader.getCodebaseRelativeData
at com/ms/vm/loader/ResourceLoader.getClassData
at com/ms/vm/loader/URLClassLoader.findClass
at com/ms/vm/loader/URLClassLoader.loadClass
at java/lang/ClassLoader.loadClassInternal
at Animation.prepareImageRange
at Animator.handleParams
at Animator.init
at com/ms/applet/AppletPanel.securedCall0
at com/ms/applet/AppletPanel.securedCall
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run
java.lang.ClassNotFoundException: java.util.List
at com/ms/vm/loader/URLClassLoader.loadClass
at java/lang/ClassLoader.loadClassInternal
at Animation.prepareImageRange
at Animator.handleParams
at Animator.init
at com/ms/applet/AppletPanel.securedCall0
at com/ms/applet/AppletPanel.securedCall
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run
die HTML Datei der Demo heißt example1.html und liegt (bei mir) im Ordner "C:\Programme\jdk1.3.1\demo\applets\Animator"
Wolfgang
Ist eine andere Exception, die ausgeworfen wird, weil Applets eigentlich nicht mit dem System kommuniezieren dürfen.
Wenn du einen JDK hast versuche mal das Applet mit dem appletviewer zu starten (wenn dir das nichts sagt, meld Dich nochmal), anosnsten weiss ich leider auch nicht weiter.
Jo, mit dem Appletviewer tuts schon, aber sobalt's eingebettet is tuts nimmer...
Applicationen laufen auch.
Und an der J2RE dürfte es auch net liegen, weil auf dem Server von Sun tun sie ja.
Hi ihr beiden,
<einmisch>
Zitat ursprungsthread:
Microsoft (R) VM for Java, 5.0 Release 5.0.0.3234
Das ding is alles aber nicht JAVA2 compatible.
Und wenn dein Applet classen aus der JRE1.3.x braucht wird es sie in der M$ VM nicht finden :-(
Also Du willst dein Applet in der JRE 1.3 ausführen if available? Dann must du es anders einbinden.
<applet></applet> hilft dir nicht (oder nur in mozilla und NN6, da die nur JRE1.3 kennen)
Schto delatch?
Rufe das JRE1.3 Plugin auf: ich kopiere dir hier mal 1:1 den code den der HTML-Converter von sun aus einer <applet></applet>-Einbindung erzeugt
<!--"CONVERTED_APPLET"-->
<!-- CONVERTER VERSION 1.3 -->
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
WIDTH = "640" HEIGHT = "480" codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
<PARAM NAME = CODE VALUE = Animacon.class >
<PARAM NAME="type" VALUE="application/x-java-applet;version=1.3">
<PARAM NAME="scriptable" VALUE="false">
<PARAM NAME = "code" VALUE ="Animacon.class">
<PARAM NAME = "height" VALUE ="480">
<PARAM NAME = "width" VALUE ="640">
<COMMENT>
<EMBED type="application/x-java-applet;version=1.3" CODE = Animacon.class WIDTH = "640" HEIGHT = "480" code = "Animacon.class" height = "480" width = "640" scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
</NOEMBED></EMBED>
</OBJECT>
<!--
<APPLET CODE = Animacon.class WIDTH = "640" HEIGHT = "480">
<PARAM NAME = "code" VALUE ="Animacon.class">
<PARAM NAME = "height" VALUE ="480">
<PARAM NAME = "width" VALUE ="640">
</APPLET>
-->
<!--"END_CONVERTED_APPLET"-->
sieh es durch versuche es zu verstehen (ist so ähnlich wie ne Flash oder realplayer integretion.
Der HTML-coverter ist free und bei sun zu finden, in JAVA geschrieben und funktioniert problemlos(vor allem batch fähig)
</genug eingemischt>
Bye Ed X
Oh, vielen Dank
ich wollte mir Schon N6 runterladen, ich dachte nähmlich langsam, dass es an diesem Sc...... Monopol-Trojaner des Bösen Imperiums liegt kurtz (M$IE5.5). *knurr* Diese eingebauten inkompatiblitäten kennt man ja langsam.
(Ich dachte, ich habe Fieber, als ich von der crash-API von w98, wME hörte, aber sowas gibs auch (habs getestet) = ))
Jo, dann saug ich mir mal denn Converter...
Wolfgang
jeah... funtzt
Danke nochmal