Wolfgang: Java-Applets

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:

Microsoft (R) VM for Java, 5.0 Release 5.0.0.3234

?  Hilfe
c  Löschen
f  abschließen
g  bereinigter Speicher
m  Speicherverwendung
q  verlassen
t  Thread-Liste

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

  1. 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.

    1. 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

      1. 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.

        1. 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.

          1. 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

            1. 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

  2. jeah... funtzt

    Danke nochmal