cable545 Geschrieben 12. Mai 2010 Geschrieben 12. Mai 2010 ich hab hier wahrscheinlich ein ganz einfaches problem. ich arbeite mit eclipse und wollte mich heute mal mit der awt.Graphics klasse beschäftigen. hier der code package a06.draw; import java.awt.Graphics; public class FirstDraw { public void draw (Graphics g){ g.drawOval(50, 50, 20, 15); } } wenn ich den code kompilieren lassen möchte bekomme ich diese fehlermeldung: Could not find the main class:a06.draw.FirstDraw. Program will exit. kann mir jemand sagen was genau ich falsch gemacht hab? Zitieren
flashpixx Geschrieben 12. Mai 2010 Geschrieben 12. Mai 2010 Du brauchst eine Methode "main" und zeichnen kannst Du nur einem entsprechenden Frame. Ich verweise auf Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 1.7 Das erste Programm compilieren und testen und Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 16 Grafische Oberflächen mit Swing Zitieren
cable545 Geschrieben 13. Mai 2010 Autor Geschrieben 13. Mai 2010 jap du hast recht. die main-methode fehlt. aber selbst mit der hab ich das problem noch gehabt. auf der java homepage hab ich dann gelesen, dass ich java deinstallieren soll und nochmal neu installieren soll. hab ich auch gemacht. jetzt funzt alles wieder. zeichnen wollte ich dann sowieso in einer testklasse in der ich ein geeignetes frame erstellt hab. also von der zeichnung abgesehen hätte sich der code doch trotzdem kompilieren lassen müssen. vorausgesetzt er enthält eine main-methode. oder? Zitieren
flashpixx Geschrieben 13. Mai 2010 Geschrieben 13. Mai 2010 Du solltest ggf auf der Console kompilieren und wenn Fehlermeldungen auftreten diese mit dem entsprechenden Code posten Zitieren
cable545 Geschrieben 13. Mai 2010 Autor Geschrieben 13. Mai 2010 mmhh, ok, ich weiß nicht was ich falsch gemacht hab, aber hab heute ne neue klasse geschrieben und schwupp...wieder die gleiche fehlermeldung. hier der code package a07; public class Punkt { private int x; private int y; public Punkt(int x,int y){ this.x=x; this.y=y; }//Konstruktor Punkt public static void main(String[] args){ } } hab echt kein plan woran das liegen soll. ???? Zitieren
flashpixx Geschrieben 13. Mai 2010 Geschrieben 13. Mai 2010 Fang doch bitte wirklich bei den Basics an, darum würde ich das "package" zunächst weg lassen. Deine Klasse lässt sich so kompilieren und ausführen (auch mit package). Zusätzlich lerne Java erst einmal zu verstehen, darum der Hinweis, dass Du Deinen Code auf der Console übersetzen sollst. Ebenso kannst Du ihn auch von dort dann starten. Zitieren
cable545 Geschrieben 14. Mai 2010 Autor Geschrieben 14. Mai 2010 ja, der code lässt sich in der eingabeaufforderung übersetzen und auch ausführen(ohne die package anweisung). mit der package anweisung lässt er sich übersetzen aber nicht mehr ausführen. ich würde gerne wissen warum das so ist. ansonsten hab ich eigentlich kein wirkliches problem. bin jetzt seid einem jahr mit java beschäftigt. am anfang immer über die konsole übersetzt und ausgeführt...dann irgendwann mit textpad und seid drei monaten versuch ich mich an eclipse...und seid zwei drei tagen funzt das alles nicht mehr so. davon abgesehen mach ich das mit der packet-organisation schon ne ganze weile. Zitieren
smash Geschrieben 14. Mai 2010 Geschrieben 14. Mai 2010 (bearbeitet) Also scheint das Problem doch am Starten des Programms und nicht am Kompilieren zu liegen, richtig? Beschreib doch mal exakt mit welchen Schritten du das Programm startest. Hier ein Weg der Funktionieren sollte: Die Klasse mit der Main-Methode in einem Editor aufrufen.Den Cursor irgendwo in diesem Editor platzieren, so dass Eclipse die folgenden Aktionen auf diese Klasse bezieht.Auf den Pfeil, rechts neben den Debug Button klicken (der mit dem Käfer).Es klappt ein Menü aus. Hier "Debug as" wählen.Es klappt ein Untermenü aus. Hier "Java application" wählen. Du kannst auch die Einstellungen überprüfen mit denen das Programm gestartet wird. Die ersten drei Schritte wie oben ausführen.Dann im Menü auf "Debug configurations" klicken. Ich führe Programme in Eclipse fast immer im Debugmodus aus. Es gibt selten triftige Gründe die dagegen sprechen. U. U. erhält man dadurch mehr Informationen. Das Programm sollte starten. Du kannst diesbezüglich auch folgende Einstellungen überprüfen: Window -> Preferences -> Run/Debug -> Launching -> Launch Operation Außerdem kannst du die Buildpfade überprüfen: Im Packageexplorer auf das Wurzelverzeichnis des Projektes gehenAlt + Enter drücken"Java Build Path" wählen.Die Tabs durchgehen und die Libs usw. überprüfen. Außerdem solltest du mal schauen was Eclipse in der "Problems"-View schreibt. Wenn du die noch nicht offen hast: Window -> Show View -> other -> General -> Problems Es gibt nämlich auch Fehler die nicht direkt auf den Javacode zurückzuführen sind. Bearbeitet 14. Mai 2010 von smash Zitieren
flashpixx Geschrieben 14. Mai 2010 Geschrieben 14. Mai 2010 mit der package anweisung lässt er sich übersetzen aber nicht mehr ausführen. ich würde gerne wissen warum das so ist. Ein Package ist letztendlich ein Verzeichnis, d.h. wenn Du eine Klasse hast die package1.class1 heißt, dann musst Du die class1.class in einem Verzeichnis package1 liegen haben. Gestartet wird dann die Klasse mit "java package1.class1" wobei man sich überhalb des Verzeichnisses package1 befindet. Bei Packages sollte man aber doch eher zur Jars übergeben, da es einfach bequemer ist mit diesen zu arbeiten Zitieren
cable545 Geschrieben 14. Mai 2010 Autor Geschrieben 14. Mai 2010 ich glaub das problem hat sich erledigt. ich hab in meinem projekt unter "referenced libaries" dann unter "build path" und dann unter "configure build path" drei jar datein gehabt bei welchen der pfad nicht mehr gestimmt hat. hab da auch so ein ausrufezeichen gehabt. ich hab die einträge gelöscht und die jar dateien neu eingebunden. jetzt funzt es wieder. 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.