G
Gast
Gast
Hi, ich mache gerade meine ersten Schritte mit "Learning Java" von Patrick Niemeyer und versuche das erste Codebeispiel zum Laufen zu kriegen.
Das ganze habe ich dann mit gcj-3.3 --main=HelloJava1 HelloJava1.java -o HelloJava1.class kompiliert.
Dann bekomme ich aber bei java HelloJava1:
Ich benutze JDK 1.5, das Buch behandelt allerdings nur JDK 1.3. Könnte da das Problem sein, dass die Syntax der Datei nicht mehr gültig ist?
Gruß, Mathis
Code:
//file: HelloJava1.java
public class HelloJava1 extends javax.swing.JComponent {
public static void main(String[] args) {
javax.swing.JFrame f = new javax.swing.JFrame("HelloJava1");
f.setSize(300, 300);
f.getContentPane().add(new HelloJava1());
f.setVisible(true);
}
public void paintComponent(java.awt.Graphics g) {
g.drawString("Hello, Java!", 125, 95);
}
}
Das ganze habe ich dann mit gcj-3.3 --main=HelloJava1 HelloJava1.java -o HelloJava1.class kompiliert.
Dann bekomme ich aber bei java HelloJava1:
Code:
[slide@phoinix]$ java HelloJava1 ~/eigene/java/HelloJava1
Exception in thread "main" java.lang.ClassFormatError: Incompatible magic value 2135247942 in class file HelloJava1
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Ich benutze JDK 1.5, das Buch behandelt allerdings nur JDK 1.3. Könnte da das Problem sein, dass die Syntax der Datei nicht mehr gültig ist?
Gruß, Mathis