Kann man ".jar"-Dateien in das Ethernet Shield Interface mit beinziehen?

Hallo,

ich wollte wissen, ob jemand weiß, ob man die per Processing erstellten .jar- Dateien in das Interface vom Ethernet Shield einfügen kann. Das Interface wird ja in HTML geschrieben, und das kann ja .jar-Dateien einbinden.

Geht das aber auch wenn ich dieses “html” in C schreibe?

Ich hab hier mal folgenden Codeabschnitt:

   client.println("<applet codebase = '/home/gu74naz/sketchbook/Test_Netzwerk_jar' archive = 'sketch_apr05a.jar' code = 'sketch_apr05a.class' width = '500' height = '500'></applet>");   
   client.println("</body></html>");

Wenn ich im Browser die IP des Shields eingebe, ist da der Platz für die jar datei reserviert aber mit nem Error. folgende Fehlermeldung erhalte ich :

Java Plug-in 1.6.0_24
Using JRE version 1.6.0_24-b07 Java HotSpot™ Client VM
User home directory = /home/gu74naz

c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to

java.lang.ClassFormatError: Incompatible magic value 1013478509 in class file sketch_apr05a
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:247)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:250)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:180)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:161)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:675)
at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3025)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1498)
at java.lang.Thread.run(Thread.java:662)
Exception: java.lang.ClassFormatError: Incompatible magic value 1013478509 in class file sketch_apr05a

Kann da jemand helfen oder hat schon mal was ähnliches ausprobiert?

Liebe Grüße,

HammerH

google führt dich da hin:

http://bugs.sun.com/view_bug.do?bug_id=4975146

Danke für die Antwort.

Ich hab aber nur Sun Java 1.6 drauf, deswegen kann es ja nicht an verschiedenen Versionen liegen? Kann es sein, dass ich im Code selber etwas falsch eingegeben habe? Kann man überhaupt eine jar Datei lokal einbinden? Ich hab da ja das Verzeichnis eingegeben im codebase - Teil. Ist das genug?

Liebe Grüße,

HammerH

Hallo,

  • ist das core.jar auch in dem Verzeichnis?
  • Hast Du schon versucht das applet auf einen externen Server zu speichern und dann den Link darauf als absoluten Pfad einzubinden. Das müsste eigentlich funktionieren.

Ich binde die processing applets folgendermaßen ein:

<applet code="sketch_apr05a.class" width="500" height="500" alt="mein applet">
 <param name="archive" value="http://www.meinserver.de/home/gu74naz/sketchbook/Test_Netzwerk_jar/sketch_apr05a.jar" />
 </applet>

damit habe ich bei den meisten Browsern Erfolg.

vielleicht hilft es ja

Grüße

Hi,

danke für deine Antwort :slight_smile:

Irgendwie sind da jetzt noch mehr Fehlermeldungen.

Java Plug-in 1.6.0_24
Using JRE version 1.6.0_24-b07 Java HotSpot™ Client VM
User home directory = /home/gu74naz

c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to

java.lang.ClassFormatError: Incompatible magic value 1013478509 in class file processing/core/PApplet
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:247)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:250)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:180)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:161)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:217)
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.plugin2.applet.Plugin2ClassLoader.defineClassHelper(Plugin2ClassLoader.java:1014)
at sun.plugin2.applet.Plugin2ClassLoader.access$100(Plugin2ClassLoader.java:69)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Plugin2ClassLoader.java:991)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Plugin2ClassLoader.java:955)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:134)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:250)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:180)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:161)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:675)
at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3025)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1498)
at java.lang.Thread.run(Thread.java:662)
Exception: java.lang.ClassFormatError: Incompatible magic value 1013478509 in class file processing/core/PApplet

Ich hab den Codeteil nun so geschrieben:

   client.print("<applet code = 'sketch_apr04a.class' archive = 'sketch_apr04a.jar' width = '200' height = '100'> alt = 'mein applet'");
   client.print("<param name = 'archive' value = 'http://download1190.mediafire.com/6twnc1t33wqg/luj35z7v8dyp5bk/sketch_apr04a.jar' />");
   client.println("</applet>");

und die core.jar Datei hab ich in den Sketchbook-Ordner des Arduino Codes hineinkopiert sowie die sketch-apr04a.jar Datei.

Ich hab in dem Ordner also nur “core.jar” , “sketch-apr04a.jar” und “Test_Netzwerk_jar.pde” (Das Projekt heißt so).

Fehlt da noch was?

Liebe Grüße,

HammerH

Hallo

das Problem ist, das core.jar müsste genau an dieser Adresse liegen wo auch Dein anderes jar file liegt sonst findet es der browser nicht: http://download1190.mediafire.com/6twnc1t33wqg/luj35z7v8dyp5bk/sketch_apr04a.jar

Das geht mit so einem Freehoster natürlich nicht. Wenn du keine Möglichkeit haben solltest einen anderen Ort zu finden wo beide jar files gespeichert werden, kannst Du auch noch beide zusammenpacken.

Das geht mit dem 7zip am einfachsten. Damit kannst Du aus dem core.jar das Verzeichnis "processing" herrauskopieren und dann in Dein sketch_apr04a.jar reinkopieren.

Ob das dann funktioniert, liegt nur noch an Deinem Freehoster. Die meisten lassen ein direktes laden nicht zu. Google einfach mal nach "kostenloser webspace", das ist unkomplizierter.

viele Grüße

Sorry für die späte Antwort,

war ne Woche lang im Urlaub.

Ok, das heißt, wenn ich auch mehrere .jar dateien habe ("net.jar", "core.jar") , den processing ordner aller dateien füge ich auch einfach in die "raumuberwachung.jar" ein und lad das dann hoch?