package und Netbeans
-
Hi,
ich habe folgendes Hallo Welt Programm:public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } }
Das funktioniert auch, wenn ich es aus der Windows-Konsole kompiliere und starte.
Wenn ich das jetzt allerdings unter der IDE Netbeans kompilieren will, kommt dieser Fehler:
java.lang.NoClassDefFoundError: HelloWorld/HelloWorld (wrong name: HelloWorld) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:537) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) at java.net.URLClassLoader.access$100(URLClassLoader.java:55) at java.net.URLClassLoader$1.run(URLClassLoader.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) Exception in thread "main"
Wenn ich dann oben drüber "package HelloWorld;" schreibe, funktioniert es.
Kann mir das jemand erklären? Warum muss ich innerhalb der IDE "package" mit angeben und außerhalb nicht?
-
java.lang.NoClassDefFoundError: HelloWorld/HelloWorld (wrong name: HelloWorld)
Wie du hier sehen kannst muss die Datei in einem Package Namens Helloworld sein.
Netbeans versucht dann die Datei in dem Package zu starten.
Du könntest den Fehler beheben in dem du in dein class Ordner einen Ordner mit dem Namen HelloWorld erstellt und dann die hellWorld.java da rein verschiebst.
Du muss dann aber auch der datei sagen das sie sich im package HelloWorld befinet.Kleiner tip schriebe alle package namen klein bitte.