Delgado Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 Hallo, ich habe folgendes Problem: Ich habe ein einfaches kleines Java Programm geschrieben. Hab es Complieren lassen im Editor und von dort aus startet es auch. Nur wenn ich jetzt die Java Datei von dem MS-Dos Fenster aus öffnen will, dann startet es nicht....es kommt nur wieder der Probt....was mach ich falsch? ich geb im Dos-Fenster den Pfad an: Laufwerk+Name der java datei => N:\>porto.java Grüße Zitieren
twegele Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 Versuch mal java Porto.class und zum Übersetzten des Java Programms in der Kommandozeile javac Porto.class Java muss natürlich in PATH eingebunden sein. Zitieren
Fragment Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 warum machst du eigentlich zwei threads auf?!?! also .java-dateien kannst du im dosfenster nur so ausführen wie twegele schreibt: "java <dateipräfix>.java" du gehst in den pfad in dem die java-datei liegt, wenn das dein gePATHter pfad ist. und gibst das einfach ein. oder du verschiebst die compilierte javadatei in dein jde-verzeichnis in dem die developer tools liegen. und führst es von dort aus, falls du den PATH nicht gesetzt hast. Zitieren
bigredeyes Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 RIESENRÜFFEL: also, leute, das sind doch basics!!!!! .JAVA kannst du NIE ausführen. NEIN es gibt auch keine ausnahmen. javac xxx.java baut eine xxx.class. .CLASS ist das binary. DAS kann man ausführen. und zwar mit "java klassenname" OHNE ".class" bigredeyes Zitieren
Delgado Geschrieben 2. Februar 2007 Autor Geschrieben 2. Februar 2007 Sorry :hells: also wenn ich java porto eingebe dann bekomme ich folgende Fehlermeldung: N:\>java porto Exception in thread "main" java.lang.NoClassDefFoundError: porto (wrong name: Po rto) at java.lang.ClassLoader.defineClass1(Native Method) 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.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) at java.lang.ClassLoader.loadClassInternal(Unknown Source) Zitieren
bigredeyes Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 Sorry :hells: ... dir sei verziehen.... ABER ums deutlich zu sagen: bevor ich das programmieren anfange sollte man wissen wie die programme denn startet... deine felermeldung besagt, dass die klasse [die .class version der klasse!!!] nicht in deinem classpath liegt. java -cp n:\myproject porto bigredeyes kannst mal ein "echo $CLASSPATH" auf der konsole eingeben. dann wird dir dein classpath angezeigt. mit der "-cp irgendwo" wird er temorär erweitert. Zitieren
kein-tee Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 Der Fehler kann auch von wo anders herrühren: Der Klassenname muss exakt mit dem Dateinamen übereinstimmen. Ist der Klassenname zufällig "Porto" und heißt die Datei "porto.java" bzw. "porto.class"? (oder umgekehrt?!) Wenn ja, bitte ändern. java.lang.NoClassDefFoundError: porto --> Klasse "porto" nicht gefunden schon mal versucht mit: > java Porto Zitieren
Delgado Geschrieben 2. Februar 2007 Autor Geschrieben 2. Februar 2007 Zu meiner Rechtfertigung: Ich bin ein frischer Java-Anfänger!!! Die zwei dateien heißen porto.class und porto.java an was kann es sonst noch liegen? An der Konfig. vom Java Editor? Zitieren
kein-tee Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 Die zwei dateien heißen porto.class und porto.java Heisst die Klasse den auch "porto" oder eher "Porto"?? Groß- und Kleinschreibung ist sehr wichtig! PS: Jeder fängt doch mal klein an! Gruß Zitieren
Delgado Geschrieben 2. Februar 2007 Autor Geschrieben 2. Februar 2007 nee, ist alles klein geschriem => porto.class =>porto.java ich verzweifel hier noch!!!! Warum kann ich das nicht starten? Zitieren
bigredeyes Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 nee, ist alles klein geschriem => porto.class =>porto.java ruhig blut... wie ist package test; import System.*; public class Porto{ ........... package test; import System.*; public class porto{ ........... das hat er mit groß/klein gemeint und: ein "public static void main(String[] args){....}" gibt es in deiner porto-klasse? bigredeyes Zitieren
kein-tee Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 Man sollte sich wohl die Fehlermeldung nochmal anschauen. Exception in thread "main" java.lang.NoClassDefFoundError: porto (wrong name: Porto) "wrong name: Porto" bedeutet das deine Klasse "Porto" heisst. Die Dateien heissen jedoch "porto.java" und "porto.class". Was du nun tun musst ist, die Datei "porto.java" zu öffnen und "public class Porto" in "public class porto" umzubennen. Oder du änderst den Dateinamen von "porto.java" & "porto.class" zu "Porto.java" & "Porto.class" (wahrscheinlich einfacher). Zitieren
bigredeyes Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 oops: vergiss das "package test" in meinen codebeispielen! das sollte bei dir nicht vorhanden sein (wenn die klasse im "default package" ist). weiterführend: sollte sich die klasse in irgendeinem package befinden mußt du sie mit "java -cp c:\..... package.vielleichtnocheinpackage.Porto" ausführen. bigredeyes p.s. die basics: Javakurs - Hallo Welt/Applikation - RRZN Zitieren
Delgado Geschrieben 2. Februar 2007 Autor Geschrieben 2. Februar 2007 Mein Java Programm: import java.util.Scanner; public class porto{ public static void main (String [] args ){ System.out.println ("Bitte Gewicht (in Gramm) des zuverschickenden Objekts eingeben!"); Scanner gewicht = new Scanner (System.in); int gramm = gewicht.nextInt(); if (gramm <= 20) { System.out.println ("Standardbrief:0,55 Euro"); } else if (gramm <= 50) { System.out.println ("Kompaktbrief:0,90Euro"); } else if (gramm <= 500) { System.out.println ("Großbrief:1,45Euro"); } else if (gramm <= 1000) { System.out.println ("Maxibrief:2,20Euro"); } else if (gramm <= 2000) { System.out.println ("Päckchen:3,90Euro"); } else if (gramm <=10000) { System.out.println ("DHL Paket: 6,90Euro"); } else if (gramm <= 20000) { System.out.println ("Pluspäckchen: 5,99 Euro"); } else { System.out.println ("unzulässiges Gewicht"); } } } Fehlermeldung: Microsoft Windows XP [Version 5.1.2600] © Copyright 1985-2001 Microsoft Corp. H:\>java porto Exception in thread "main" java.lang.NoClassDefFoundError: porto Zitieren
Delgado Geschrieben 2. Februar 2007 Autor Geschrieben 2. Februar 2007 Mir ist grad mal aufgefallen: Egal welche Java Datei ich starten möchte, immer kommen Fehlermeldungen....geht nur über den Editio zu starten.... Zitieren
kein-tee Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 Kommen immer dieselben Fehlermeldungen?? Geht denn das Kompilieren von Kommandozeile aus? Du solltest dann mal Variante mit dem Classpath ausprobieren. Also: > java -cp "Verzeichnis in dem deine Klassen liegen" porto In deinem Beispiel wahrscheinlich so: > java -cp "N:\" porto Gruß Zitieren
bigredeyes Geschrieben 2. Februar 2007 Geschrieben 2. Februar 2007 bei mir läuft dein code! also: 1) ordner auf n: erstellen name test 2) die klasse porto in Porto umbennen. dann ists java-conform. 3) kopiere die datei Porto.java nach n:\test 4) auf der konsole "cd n:\test" 5) javac Porto.java (javac das ist der java-compiler) 6) 2 sekunden warten. fürn kaffee reichts bei der projektgröße noch nicht 7) java Porto freufreufreu bigredeyes P.S. Fehlermeldung: Microsoft Windows XP [Version 5.1.2600] © Copyright 1985-2001 Microsoft Corp. ich werf mich weg!!! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.