kostenloser Webspace werbefrei: lima-city


Java auf Ubuntu (NoClassDefFoundError)

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    loki-arsen

    loki-arsen hat kostenlosen Webspace.

    Hallo

    also ich habe mir hier auf ubuntu das java-sdk6 instaliert.
    Wollt jetzt mal ein einfaches \'hello world\' schreiben und ausführen,
    das javac compilieren hat auch geklappt aber beim ausführen kommt:

    Exception in thread \"main\" java.lang.NoClassDefFoundError: jtest/class
    Caused by: java.lang.ClassNotFoundException: jtest.class
            at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
            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:276)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)


    ich nehme fasst an das es am Classpath liegt, nur weiß ich leider nicht wie, wo und auf welches verzeichnis ich ihn setzten muss das das stimmt

    kann man mir da helfen oder ist mir nichtmehr zu helfen ?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Moin,

    Also eigentlich sollte es auch ohne Classpath gehen.
    Du musst nur in das Verzeichnis wechseln, wo Deine .class-Datei liegt und diese halt mit dem entsprechenden Befehl aufrufen.

    Wenn das nicht geht - wovon ich bei Dir gerade mal ausgehe - dann setz doch einfach den Classpath und teste es halt damit.

    Kleines Tutorial dazu:
    http://w3studi.informatik.uni-stuttgart.de/~bischowg/languages/Java/Allgemeines/JavaInstall.html

    Gruß,
    Pawnee


    Beitrag geändert: 21.7.2008 20:04:14 von pawnee
  4. Autor dieses Themas

    loki-arsen

    loki-arsen hat kostenlosen Webspace.

    naja aber miene frage was ist den der richtige PATH .... das ist ja die eigentliche Frage ;)

    also wo liegt unter Ubunut der richtige PATH, also was muss ich zu PATH hinzufügen.
  5. Moin,

    achso, Du willst den Pfad wissen, das habe ich doch glatt überlesen.

    Geh einfach mal in die konsole und gib \"locate java\" oder \"locate java-sun\" ein.
    Dann werden Dir einige Pfade auf den Bildschirm geworfen und Du musst halt mal durchschauen,
    welcher davon der Richtige ist.

    Gruß,
    Pawnee
  6. Autor dieses Themas

    loki-arsen

    loki-arsen hat kostenlosen Webspace.

    Hast du das schon mal probiert ?
    bei mir kommmen da so um die (ok ganz genau) 5121 eintäge.
    welcher da wohl der richtige ist...

    Naja hab die für mich \"logischtsen\" versucht ... erfolglos.


    Hier niemand Ubuntu + Java benutzt ?
  7. Moin,

    wenn Du nach javac suchen würdest, hättest Du ganz schnell Deinen passenden Pfad.
    In dem Pfad sollte jdk und bin vorhanden sein ;-)

    Gruß,
    Pawnee
  8. Hallo zusammen,

    also eigentlich solltest du den Pfad zu deiner jtest - Datei
    dem Classpath hinzufügen, denn die wird ja nicht gefunden. Der Pfad zum
    Compiler bzw. zur VM scheint schon in Ordnung zu sein. Falls du nicht weiter kommst
    und Pafdangaben ausschließen möchtest, dann leg deine Datei mal ins
    Verzeichnis mit den Java Binaries. Nachdem du aber compilieren kannst
    scheint mir das Problem wo anders zu liegen.
    Du hast schon den richtigen Dateinamen, oder?
    Vielleicht blöde Frage, aber oft sind es die einfachsten Sachen, die einen
    verzweifeln lassen.

    Gruß
    Manni
  9. Autor dieses Themas

    loki-arsen

    loki-arsen hat kostenlosen Webspace.



    hab auch probiert zu den java-binaries zu legen ( /usr/lib/jvm/java-6-sun/jre/bin/)
    aber auch ohne änderung ....
    also der name passt *g* aber ich weiß was du meinst ... muss hier noch was einfacheres geben ^^
  10. Hi,

    dass scheint mir ja recht vertrakt zu sein ;).

    Also, nur damit ich es auch richtig verstehe:
    -du hast eine Datei jtest.java
    -du stehst in dem Verzeichnis der Datei und compilierst javac jtest.java
    -du erhältst im gleichen Verzeichnis eine Datei jtest.class
    -du gibst java jtest ein und erhältst den oben angegebenen Fehlerstack?

    Gruß
    Manni
  11. Autor dieses Themas

    loki-arsen

    loki-arsen hat kostenlosen Webspace.

    Ja da gehst du richtig in der Annahme ...

    nochmal kurz:
    Java ist installier und ausgewählt von sun (sun-java6-sdk)
    Datei name ist jtest.java
    Inhalt:
    public class jtest {
    public static void main(String[] args) {
    System.out.println(\"Hello World!\");
    }
    }


    dann compiliert mit:
    $ javac jtest.java
    (erfolgreich)
    und der versuch es zu testen:
    $ java jtest.class
    oder auch
    $ java jtest

    mit diversen manipulierten Classpath ausprobiert und direkt bei den binaries ... immer:
    Exception in thread \"main\" java.lang.NoClassDefFoundError: hellow/java
    Caused by: java.lang.ClassNotFoundException: hellow.java
            at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
            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:276)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  12. Hi,

    also eine Frage ist noch offen:
    Es liegt wirklich die .class Datei in dem Verzeichnis in dem auch die Quelle liegt und in dem du stehst?

    Gruß
    Manni
  13. Autor dieses Themas

    loki-arsen

    loki-arsen hat kostenlosen Webspace.

    Oh yes.

    Habs grad.

    Erster fehler ich habs versucht mit
    java jtest.class
    und dann hab ich micht der CLasspath Variable gespielt und es dort verhunst ...
    ansich klapts ohne einstellung oder sinst mit:
    java -cp . jtest
  14. Hallo,

    du kannst den Punkt ja in die CLASSPATH Variable eintragen, dann
    sparst du dir den Pfad beim Aufruf mitzugeben. Üblicherweise wird
    der Punkt da schon bei der Installation von java sdk eingetragen.

    Gruß
    Manni
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!