Java-Anfänger



  • [gelöst]

    Hallo Leute,
    ich habe heute mit Java begonnen und habe Probleme mit der Kompilierung.
    Wenn ich "package helloworld;" einfüge wird das Programm garnicht gestartet. Wenn ich es weglasse dann aber schon. Woran liegt das??

    Ich benutze Ubuntu Linux und kompiliere übers Terminal, also mit:
    javac HelloWorld.java
    java HelloWorld



  • Du musst es dann mit java helloworld.HelloWorld starten.

    MfG SideWinder



  • geht nicht



  • sehr präzise Fehlerbeschreibung.



  • Das selbe Problem wie schon vorher. ich tippe java helloworld.HelloWorld aber es kommt eine riesen Meldung, die auch schon vorher mit java HelloWorld kam:

    Exception in thread "main" java.lang.NoClassDefFoundError: helloworld/HelloWorld
    Caused by: java.lang.ClassNotFoundException: helloworld.HelloWorld
    at java.net.URLClassLoader1.run(URLClassLoader.java:217)atjava.security.AccessController.doPrivileged(NativeMethod)atjava.net.URLClassLoader.findClass(URLClassLoader.java:205)atjava.lang.ClassLoader.loadClass(ClassLoader.java:321)atsun.misc.Launcher1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.LauncherAppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    Could not find the main class: helloworld.HelloWorld. Program will exit.



  • hallo,

    wo befindest du dich in der konsole wenn du java aufrufst?
    angenommen du befindest dich mit dem terminal in "." dann wie folgt:

    ./helloworld/HelloWorld.java
    

    ein aufruf von javac:

    javac helloworld/HelloWorld.java
    

    dann siehts so aus:

    ./helloworld/HelloWorld.java
    ./helloworld/HelloWorld.class
    

    nun der aufruf von java wie bereits von sidewinder geschrieben:

    java helloworld.HelloWorld
    

    angenommen allerdings du befindest dich nicht in "." sondern in "./helloworld":

    ./helloworld/HelloWorld.java
    

    ein aufruf von javac:

    javac HelloWorld.java
    

    dann führt auch zu:

    ./helloworld/HelloWorld.java
    ./helloworld/HelloWorld.class
    

    allerdings der aufruf von java:

    java helloworld.HelloWorld
    

    fürt nun zu:

    Exception in thread "main" java.lang.NoClassDefFoundError: helloworld/HelloWorld
    
    Caused by: java.lang.ClassNotFoundException: helloworld.HelloWorld
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
    Could not find the main class: helloworld.HelloWorld.  Program will exit.
    

    ich glaube das kommt dir bekannt vor, und das problem sollte sich nun lösen lassen 🙂

    mfg.



  • Das müsste normalerweise gehen, wie sieht denn der code selber aus?
    und was soll eigentlich dieses helloworld HelloWorld?Gibt es in der Nähe zufällig auch noch helloWorld und Helloworld? bzw. HALLOWORLD?



  • nachtfeuer schrieb:

    Das müsste normalerweise gehen...

    hm warum probierst du es dann nicht einfach mal selbst aus..
    dann sollte dir auffallen, dass es dann zu einer:

    Exception in thread "main" java.lang.NoClassDefFoundError: helloworld/Helloworld
    (wrong name: helloworld/HelloWorld)

    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader1.run(UnknownSource)atjava.security.AccessController.doPrivileged(NativeMethod)atjava.net.URLClassLoader.findClass(UnknownSource)atjava.lang.ClassLoader.loadClass(UnknownSource)atsun.misc.Launcher1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.LauncherAppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    Could not find the main class: helloworld/Helloworld. Program will exit.

    kommt - allerdings hat op hat allerdings eine

    Exception in thread "main" java.lang.NoClassDefFoundError: helloworld/HelloWorld
    Caused by: java.lang.ClassNotFoundException: helloworld.HelloWorld
    at java.net.URLClassLoader1.run(URLClassLoader.java:217)atjava.security.AccessController.doPrivileged(NativeMethod)atjava.net.URLClassLoader.findClass(URLClassLoader.java:205)atjava.lang.ClassLoader.loadClass(ClassLoader.java:321)atsun.misc.Launcher1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.LauncherAppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    Could not find the main class: helloworld.HelloWorld. Program will exit.

    und im post davor wurde nun schon festgestellt, was eine solche fehlermeldung auslößt.



  • term schrieb:

    nachtfeuer schrieb:

    Das müsste normalerweise gehen...

    hm warum probierst du es dann nicht einfach mal selbst aus..

    was soll ich hier ausprobieren? Fehlermeldungen abtippen?



  • nachtfeuer schrieb:

    term schrieb:

    nachtfeuer schrieb:

    Das müsste normalerweise gehen...

    hm warum probierst du es dann nicht einfach mal selbst aus..

    was soll ich hier ausprobieren? Fehlermeldungen abtippen?



  • Das ganze ist gelöst, ich hatte nicht gewusst wie das alles mit package läuft. Danke für eure Mühe und sorry das ich nicht früher antworten konnte, war in den letzten Tagen nicht online. Viele Grüße


Anmelden zum Antworten