schon wieder.applet geht nicht (Fehler: not found)

Status
Nicht offen für weitere Antworten.

virtualAudio

Aktives Mitglied
Hi Leute,

beim Durchforsten des Forums hatte ich schnell die Hoffnung, dass ich nicht selber posten werden muss, da dieses Thema schon oft besprochen wurde. Leider haben bei mir die letzten 5-10 Problemlösungen anderer nichts gebracht. Somit schreib ich doch selbst.


Diese html-Seite:
http://stud3.tuwien.ac.at/~e0004876/taylor/Taylor.html

Diese Fehlermeldung
Code:
Laden: Klasse Taylor.class nicht gefunden
java.lang.ClassNotFoundException: Taylor.class
	at sun.applet.AppletClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadCode(Unknown Source)
	at sun.applet.AppletPanel.createApplet(Unknown Source)
	at sun.plugin.AppletViewer.createApplet(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed.
	at sun.applet.AppletClassLoader.getBytes(Unknown Source)
	at sun.applet.AppletClassLoader.access$100(Unknown Source)
	at sun.applet.AppletClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	... 10 more
Exception in thread "Thread-87" java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletException(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletStatus(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Exception in thread "thread applet-Taylor.class" java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletException(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)


Die Datei "Taylor.class" befindet sich im gleichen Ordner wie "Taylor.html". Die Gross/KLeinschreibung scheint zu stimmen.

Ich hoffe, dass vielleicht doch jemand noch eine Idee hat, bzw. ich die anderen Ideen falsch genutzt habe um das Problem zu lösen.

Beste Grüße
Andi
 
Standardfragen:
Welcher Browser?
Welche VM ist installiert/aktiviert?
Mit welchem JDK/SDK kompiliert?
FAQ gelesen?
Was hast du noch probiert?
 
Browser: Firefox 1.5 / MS IE 6
Java: 1.5.0_06 (VM und in Eclipse)
FAQ gelesen: ja

sonst:
ich dachte an ein Problem im Aufruf und hab das überprüft (selfhtml); die gross/kleinschreibung hab ich überprüft
die Rechte im Zugriff auf die Dateien Taylor.html und Taylor.class hab ich hin und her verändert
statt "Taylor.class" hab ich "./Taylor.class" probiert
Eure letzten (vor allem Deine) Hilfestellungen im Forum hab ich gelesen und mit meinem Problem verglichen
vom package taylor hab ichs zum default-package in eclipse geändert in der Hoffnung, dass er es deshalb nciht findet
ja, ich glaub das wars bis jetzt

🙂

Beste Grüße
Andi
 
Mit einem jar-file hab ichs jetzt auch versucht. Aufruf mit
Code:
...archive="Tylor.jar" code="Taylor.class"...
 
Klingt erstmal alles ganz vernünftig. Ich kann mir trotzdem keinen Reim drauf machen...
Ich hab mal versucht, die jar-Datei von deinem Space zu laden, ging nicht. Der Server hat mit das nicht erlaubt.
Hast du mal versucht, das Applet auf einem anderen Server zur Verfügung zu stellen?
Funktioniert es eigentlich lokal?
 
Ja, ich hab die Rechte wieder zurückgestellt weil sich am Problem nichts geändert hat und ich dachte wenn ein html aus dem selben Ordner darauf zugreift wirds schon die Rechte haben....?!


Habs grad auf einen anderen Server gespielt.

http://www.tonzauber.com/andi/Taylor.html


Fehler:
Code:
java.lang.NoClassDefFoundError: Taylor$2
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
	at java.lang.Class.getConstructor0(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at sun.applet.AppletPanel.createApplet(Unknown Source)
	at sun.plugin.AppletViewer.createApplet(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-25" java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletException(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletStatus(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Exception in thread "thread applet-Taylor.class" java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletException(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)


In der Entwicklungsumgebung(Eclipse) funktioniert es ja.
 
Also gleich in der ersten Zeile stellt der Interpreter fest, dass ihm eine Klasse zum Ausführen fehlt.
Du solltest schon alle erzeugten .class-Dateien auf deinen Space bzw. in die jar-Datei packen.
Taylor$2.class ist vermutliche eine anonyme innere Klasse, die vom Compiler erzeugt wurde. Ohne die, wird aber dein Applet nicht funktionieren.
 
puuh, so Leute es klappt. ganz verstanden hab ich hier noch nicht alles, aber man muss ja schon froh sein wenns mal funktioniert. http://stud3.tuwien.ac.at/~e0004876/taylor/Taylor2.html


Taylor$2.class gibt es und es war auch im jar file enthalten. Interessanterweise sagt er was von ...$2.. not found wenn das jar nicht gelesen werden kann. Hab jetzt die Rechte am jar wieder geändert und jetzt gehts. Sehr verwirrende Fehlermeldung. Ist es nicht möglich für die java-console zu erkennen ob ein file nicht da oder nicht lesbar ist??

Dumm ist, dass ich aus irgendeinem Grund die Rechte an den zusätzlichen ($2, etc) class-files (wenn sie ohne jar im Ordner liegen) nicht ändern konnte. Denn ich hab ja auch weiterhin versucht das ganze ohne Archiv zum Laufen zu bringen. Hat bis jetzt nicht geklappt.

@L-ectron-X
Danke für Deine immer wieder geduldige Hilfe!!!

Mit besten Grüßen
Andi
 
???:L Was für Rechte mussten denn geändert werden und warum? Dieses Applet braucht doch keine erweiterten Rechte. Das Jar-File braucht nicht mal ein Manifest...
Eine Sache müsstest du noch nachbessern. Das Applet flackert unheimlich beim Ziehen der Scrollbars.
Normalerweise sind Swing-Komponenten schon double buffered. Scheint also irgendwo noch was verkehrt gemacht worden zu sein.
 
Hi again,

auf diesem Uni-Server werden automatisch alle files auf: kein aussenstehender darf lesen,schreiben oder ausführen gesetzt. jetzt da "read" für alle erlaubt ist funktioniert es mit dem jar-file

Das flackern kommt glaube ich nicht von dem üblichen doublebuffered - dings, sondern daher, dass bei jeder Änderung der Regler (oder auch wenn man die appletgrösse ändert) alles neu berechnet und gezeichnet wird. Mir war es wichtiger immer die volle Auflösung zu haben, wollt ja bloß für mich eine veranschaulichung weil ich nirgends sowas gefunden hab und grad für ne Matheprüfung lerne. Bei jeder Berechnung schaut er also erst nach wieviele Pixel er vertikal und horizontal hat und speichert alles in arrays die dann gezeichnet werden. Bei steigender Anzahl von Ableitungen wird das schnell viel Zeug...dafür sieht man halt auch bei jeder Einstellung alle Feinheiten.

Ich kann mich allerdings irren, vielleicht würde man das flackern doch wegbringen?! Was meinst Du...kann ich mit obiger Überlegung recht haben?

lga


edit: wobei es flackert auch schon ohne Ableitungen... hm
 
Reine Implementierungsfrage. Das Flackern bekommt man auf jeden Fall weg. Ich denke aber, dass es nicht an deiner Vermutung liegt. Beim Zeichnen kann ein unerfahrener Programmierer viel verkehrt machen. Da werden oftmals Graphics-Objekte gespeichert, die falschen Methoden überschrieben oder Swing mit AWT gemischt etc.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben