Run und Debug eines Java-Projektes

Java-Laie

Mitglied
Hallo, liebe Java-Experten!

Nachdem ich zweimal mit kommerzieller Software (Turbo JBuilder 2007 von Codegear und JBuilder 2008 von Embarcadero) schlechte Erfahrung bei der jeweiligen Installation sammelte, gelang es mir, das SDK erfolgreich zu installierren und die Eclipse IDE "Indigo" (endlich mal etwas ohne Installation) erfolgreich zu starten.

Ich habe ein relativ simples Java-Projekt vorliegen (hoffentlich ist es überhaupt ein vollständiges), das ich gern zum Laufen brächte und eigentlich bevorzugt debuggen möchte. Auf Wunsch kann ich es auch gern hier veröffentlichen, sofern das möglich möglich ist.

Meine Erfahrung sagt mir, in der Verzeichnisstruktur in das Verzeichnis "src" hinabzutauchen, dort finden sich die Java-Dateien (wenigstens mit dieser Endung). Die Abhängigkeiten sind rasch klar, die "Zentraldatei" müßte die "main.java" sein. Rufe ich diese über Eclipse auf (Datei->öffnen), so liegt ihr Quelltext vor.

Drücke ich auf den Run-Button, so wird man nach der "Ant Build" gefragt, einmal "Launches an Ant build with default" und das zweite "Launches an Ant Build and allows it". Doch egal, was ich wähle, danach tut sich nichts erkennbares mehr. Keine Ahnung, ob das an dem Projekt liegt; könnte sein, denn Interaktion ist, so kann ich den Quelltexten entnehmen, zumindest nicht die Stärke des Projektes, es ist eher eine Machbarkeitsstudie.

Mir würde es auch völlig reichen, im Debugmodus das Projekt "durchzusteppen" und mir die wichtigen Werte anzeigen zu lassen. Habe ich diese Chance? Ich versuche auch "Debug", mit und ohne "Toggle Breakpoint", doch nirgends ist echtes Laufen des Programmes wahrnehmbar, geschweige denn, eine Möglichkeit, sich die Werte anzeigen zu lassen.

Vielen Dank im voraus und viele Grüße

Java-Laie
 

Fab1

Top Contributor
Also, wenn du alle Klassen im src Verzeichnis von deinem Eclipse Projekt hast, und trotzdem nichts passiert, wenn den Code ausführst, dann liegt es am Code.
 

Java-Laie

Mitglied
Also, wenn du alle Klassen im src Verzeichnis von deinem Eclipse Projekt hast, und trotzdem nichts passiert, wenn den Code ausführst, dann liegt es am Code.

Erst einmal danke! So schnell gebe ich nicht auf, zumal es ein vollständiges Projekt sein soll.

Im src-Verzeichnis liegen nur die java-Dateien (mit dieser Endung). Es gibt aber noch - neben dem src-Verzeichnis auf gleicher Ebene - andere Verzeichnisse, darunter eines, das, wenn dort ein wenig hineintaucht, auch class-Dateien offenbart, und zwar mit denselben Dateinamen (nur eben mit der Endung "class"). Müssen die mit in das src-Verzeichnis gepackt werden? So verstehe ich es jedenfalls.

Ich werde auch mal in den hier veröffentlichten Projekten stöbern...

Vielen Dank und viele Grüße

Java-Laie
 

tuttle64

Bekanntes Mitglied
Mir würde es auch völlig reichen, im Debugmodus das Projekt "durchzusteppen" und mir die wichtigen Werte anzeigen zu lassen. Habe ich diese Chance? Ich versuche auch "Debug", mit und ohne "Toggle Breakpoint", doch nirgends ist echtes Laufen des Programmes wahrnehmbar, geschweige denn, eine Möglichkeit, sich die Werte anzeigen zu lassen.

Versuche in Eclipse folgendes:

1. Window -> Open Perspectives -> Debugger
2. Setze in Deiner main() Methode einen Brekapoint indem Du am Rande doppelklickst, sofern dieser Breakpoint im Breakpoint-Fenster erscheint, gehe zu 3.
3. Run -> Debug

Dann müsste der Debugger bei der ersten Programmzeile nach main() stehenbleiben. Sofern das klappt, können wir mit Step Into und Step Over fortschreiten. Siehe auch den Link in meiner Signatur. Dort findest Du ein hervorragendes Tutorial auf Englisch zum Thema "Eclipse and Java: Using the Debugger"
 
Zuletzt bearbeitet:

Java-Laie

Mitglied
Hi,

zu den .class und .java Dateien kannst du dir mal folgendes anschauen.
Da wird das ganz gut erklärt.

Java-Programme mssen vor der Ausfhrung kompiliert werden.

Aber an sich musst du die .class Dateien nicht rein ziehen, da diese erstellt werden, wenn das Programm kompiliert wird.

Danke, das funktioniert leider nicht, ob ohne oder mit -classpath. Es kommt nur, daß javac nicht gefunden werden konnte. Ich installierte das SDK und Indigo. Reicht das immer noch nicht? Es scheint ganz danach so.

Vielen Dank und viele Grüße

Java-Laie

Edit: javac kennt mein System nicht, dafür aber java. Ob das ein Tippfehler auf jener Seite ist?

Edit2: Der nächste Wermutstropfen: Nach Eingabe der Befehle bzw. Befehlszeilen "java main" und "java main.class" kommt jedesmal die Fehlermeldung "Fehler! Die Hauptklasse main.class konnte nicht gefunden oder geladen werden." Ich bin mit Sicherheit in dem Verzeichnis, in dem sie sich befindet. Ich habe eine gleichnamige Datei von einem anderen Unterverzeichnis extra in das Quelltextverzeichnis hinüberkopiert. Schade.

Edit 3: Mit -classpath scheint es zu funktionieren, keine Fehlermeldung mehr, dafür ein Fülle an Optionen....
 
Zuletzt bearbeitet:

Java-Laie

Mitglied
Auch Dir, tuttle64, ein großes Dankeschön!

Versuche in Eclipse folgendes:

1. Window -> Open Perspectives -> Debugger

Bis auf die Tatsache, daß das Quelltextfenster danch verschwunden war, ich es aber nach dem Neuladen wieder vorfand - ein Zustand, der zum Glück auch nach dem Starten automatisch wieder eingestellt war - klappte das. Also, Editor- und Debuggerfenster sind vorhanden.

2. Setze in Deiner main() Methode einen Brekapoint indem Du am Rande doppelklickst, sofern dieser Breakpoint im Breakpoint-Fenster erscheint, gehe zu 3.

Über eine farbliche Hervorhebung des / der Breakpoints hätte ich mich mehr gefreut, aber auch das klappt.

3. Run -> Debug

Dann müsste der Debugger bei der ersten Programmzeile nach main() stehenbleiben. Sofern das klappt, können wir mit Step Into und Step Over fortschreiten.

Und das klappt leider nicht, das wäre ja schon fast das Ziel meiner Wünsche. Das Variablenfenster, das eigentliche Ziel meiner Träume, fand ich schon, es ist der Reiter / Tab daneben.

Siehe auch den Link in meiner Signatur. Dort findest Du ein hervorragendes Tutorial auf Englisch zum Thema "Eclipse and Java: Using the Debugger"

Danke, leider ist das für mich immer mit einem mehr oder weniger (leider nicht genau feststellbaren) Informationsverlust verbunden, denn Angelsächsisch wurde nicht zu meiner zweiten Muttersprache.

Vielen Dank und viele Grüße

Java-Laie
 

Fab1

Top Contributor
Kannst du mal nochmal zusammenfassen was du alles gemacht hast?

Kannst du den Code, den du ausführen möchtest auch mal posten oder hochladen, somit könnte man das zumindest schon mal ausschließen.

und das mit javac ist kein Fehler, allerdings musst du, wenn du eclipse installiert hast das nicht mit der Console ausführen. Dies würde dir eclipse abnehmen.
 
G

gman

Gast
Hi,

mal eine andere Frage zwischendurch:

Die "main.java" enthält aber auch die Methode: [c]public static void main(String[] args)[/c] ?
Wenn die nämlich nicht vorhanden ist, schlägt Eclipse auch nicht "Run as -> Java Application" vor.
Und anscheinend fehlt dies ja bei dir.
 

Java-Laie

Mitglied
Vielen Dank für Eure Geduld mit mir!

Kannst du mal nochmal zusammenfassen was du alles gemacht hast?

Natürlich. Zum einen gelang es mir, in Eclipse ein Debugfenster (mit Breakpoints) und gleichzeitig das Editorfenster zu öffnen und Breakpoints zu- und abzuschalten. Zum anderen war ich auf der Kommandozeilenebene aktiv und schaffte es, daß der Befehl java -classname main (oder main.java) nicht zu einem Fehler führt, sondern eine Fülle an Optionen ausspukt).

Kannst du den Code, den du ausführen möchtest auch mal posten oder hochladen, somit könnte man das zumindest schon mal ausschließen.

Schon geschehen. Der Inhalt ist der originale.

Vielen Dank und viele Grüße

Java-Laie
 
Zuletzt bearbeitet:

Fab1

Top Contributor
Vielen Dank für Eure Geduld mit mir!



Natürlich. Zum einen gelang es mir, in Eclipse ein Debugfenster (mit Breakpoints) und gleichzeitig das Editorfenster zu öffnen und Breakpoints zu- und abzuschalten. Zum anderen war ich auf der Kommandozeilenebene aktiv und schaffte es, daß der Befehl java -classname main (oder main.java) nicht zu einem Fehler führt, sondern eine Fülle an Optionen ausspukt).

Gut, also ich hab mir das Programm angeschaut und es lässt sich, sofern man die erste Zeile mit dem package entfernt Problemlos starten bei mir kommen auch eine Fülle an Daten. Scheint bei dir ja auch funktioniert zu haben wie du geschrieben hast.
daß der Befehl java -classname main (oder main.java) nicht zu einem Fehler führt, sondern eine Fülle an Optionen ausspuckt).

Dann erst mal nur noch eine Frage, was gibt es sonst noch?
 

Ralph-Uwe

Bekanntes Mitglied
Hallo,

es reicht nicht aus nur die main.java zu öffnen.

Klicke in Eclipse auf: new/new/Project
wähle: Java Projekt
und klicke auf: next

Hier kannst Du dem Projekt einen Namen geben
nimm den Haken unter use default location raus und klicke auf Browse
wähle das Verzeichnis aus, in dem alle Dateien und Unterverzeichnisse liegen
in diesem Fall "InPlaceShuffle" und klicke finish.

Jetzt wird im PackageExplorer das Project angelegt.
Diue Verzeichnisstruktur nur soweit öffen, bis Du zur Datei Main.java gelangt.
Mit einem rechts Klick das Menü öffnen und mit: run as ==> Java Aplication das Programm starten.

Gruß
 

Java-Laie

Mitglied
Hi,

mal eine andere Frage zwischendurch:

Die "main.java" enthält aber auch die Methode: [c]public static void main(String[] args)[/c] ?
Wenn die nämlich nicht vorhanden ist, schlägt Eclipse auch nicht "Run as -> Java Application" vor.
Und anscheinend fehlt dies ja bei dir.

Ja, es findet sich:
Java:
public static void main(String[] args) throws InterruptedException
 

Java-Laie

Mitglied
Danke!

Gut, also ich hab mir das Programm angeschaut und es lässt sich, sofern man die erste Zeile mit dem package entfernt Problemlos starten

Also ist diese Zeile zuviel?

bei mir kommen auch eine Fülle an Daten.

Scheint bei dir ja auch funktioniert zu haben wie du geschrieben hast.

Dann erst mal nur noch eine Frage, was gibt es sonst noch?

Was meinst Du? Ich schrieb, daß eine Fülle Optionen kommt. Die können kaum aus den Java-Quelltexten selbst stammen. Das sind ziemlich sicher Meldungen des java(-Compilers?), also des java-Befehles im Eingabeaufforderungsfenster. Möchtest Du die wissen? Dann würde ich sie besorgen (anderer Computer).
 

Java-Laie

Mitglied
Dann erst mal nur noch eine Frage, was gibt es sonst noch?

Also, die *.class-Dateien befinden sich nunmehr mit im Unterverzeichnis, in dem auch die *.java-Dateien liegen.

rufe ich "java main" auf, kommt:

"Exception in thread "main" java.lang.NoClassDefFoundError: min <wrong name: inplaceshuffle/Main>", gefolgt von etlichen Zeilen wie "at java.langClassLoader.defineClass <Native Method>" und ähnlich.

Rufe ich hingegen "java -classpath main" auf, kommt:

"Verwendung: java[-options] class [args...]
-d32 Verwendet ein 32-Bit-Datenmodell, sofern verfügbar"

und noch viele weitere Zeilen. Das sind eindeutig Kommandozeilenparameter.

Rufe ich "java -classpath -d32 main" auf (sollte eigentlich zu einem 32-Bit-Compilat führen), kommt: "Fehler: Hauptklasse main konnte nicht gefunden oder geladen werden."
 

Java-Laie

Mitglied
Hallo,

es reicht nicht aus nur die main.java zu öffnen.

Klicke in Eclipse auf: new/new/Project
wähle: Java Projekt
und klicke auf: next

Hier kannst Du dem Projekt einen Namen geben
nimm den Haken unter use default location raus und klicke auf Browse
wähle das Verzeichnis aus, in dem alle Dateien und Unterverzeichnisse liegen
in diesem Fall "InPlaceShuffle" und klicke finish.

Jetzt wird im PackageExplorer das Project angelegt.
Diue Verzeichnisstruktur nur soweit öffen, bis Du zur Datei Main.java gelangt.
Mit einem rechts Klick das Menü öffnen und mit: run as ==> Java Aplication das Programm starten.

Gruß

Danke, das hilft schonmal viel weiter. Doch zum Ziele führt auch das nicht, es scheitert am Compilieren. Ist die Zeile mit dem Package auskommentiert (die wurde ja weiter oben als störend erkannt), kommt beim/ nach dem Compilieren die Fehlermeldung:

"Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The declared package "inplaceshuffle" does not match the expected package ""

at Chronometer.<init>(Chronometer.java:6)
at Main.main(Main.java:23)"

Nehme ich die Auskommentierung zurück, erscheint "nur" noch:

"Exception in thread "main" java.lang.Error: Unresolved compilation problem:

at Main.main(Main.java:21)".

Ein Klick auf die Meldung springt zur Zeile 21 mit der Zeile:

"public static void main(String[] args) throws InterruptedException {".

Mir ist unklar, was es an dieser Zeile zu monieren gibt, zumal hier mir bestätigt wurde, daß es sich um ein vollständiges, lauffähiges Projekt handelt.

Vielen Dank erneut und viele Grüße

Java-Laie
 

Java-Laie

Mitglied
Irgendwie tanzen wir hier auf zwei Hochzeiten, scheint es mir: Zum einen das Compilieren auf der Kommandozeilenebene, zum anderen in der IDE. Ich vermute, daß das eine vom anderen unabhängig ist. Mir würde die IDE reichen, und die ist wahrscheinlich auch die einzig sinnvolle, wenn man es "durchsteppen" möchte. Doch Mißerfolge machen bescheiden. Ich hätte ja schon einen (kleinen) Glückshormonausstoß, wenn ich auf der Kommandozeilenebene einen klitzekleinen Erfolg hätte.

Postscriptum: Daß ich schon seit 23 Jahren programmiere, wird mir nach diesen Anfängermißerfolgen wohl kaum jemand glauben....
 

Fab1

Top Contributor
Also, du hast in deinem srv Verzeichnis 5 Dateien und in jeder dieser Dateien steht in der ersten Zeile (bzw fast ganz oben) das mit package inplaceshuffle; oder so ähnlich, wenn du diese Zeile in der Datei löscht bzw. auskommentierst, dann funktioniert es. In dem du das Projekt in Eclipse ausführst (das grüne Zeichen) oder F11 sollte auch funktionieren glaub ich. Zumindest habe ich bei mir nichts anderes geändert.
 
G

gman

Gast
Hi,

ich habe mir auch mal (kurz) das Programm angeschaut. Ich habe einfach in Eclipse
ein neues Java-Projekt angelegt und dann im Datei-Explorer den Unterordner von
"src" kopiert und in Eclipse in den Ordner "src" des Projektes eingefügt:

Rechtsklick auf den "src"-Ordner und dann "Paste".

Dann habe ich die Main.java geöffnet und mit "Run -> Run As -> Java Application" gestartet.

So sollte es funktionieren, obwohl ja anscheinend noch nicht so ganz klar ist
ob deine Java-Installation funktionstüchtig ist. Guck mal hier:

http://www.java-forum.org/java-faq-beitraege/8431-ubersicht-faq.html
 

Java-Laie

Mitglied
Also, du hast in deinem srv Verzeichnis 5 Dateien und in jeder dieser Dateien steht in der ersten Zeile (bzw fast ganz oben) das mit package inplaceshuffle; oder so ähnlich, wenn du diese Zeile in der Datei löscht bzw. auskommentierst, dann funktioniert es. In dem du das Projekt in Eclipse ausführst (das grüne Zeichen) oder F11 sollte auch funktionieren glaub ich. Zumindest habe ich bei mir nichts anderes geändert.

Also, Ihr ward ja alle sehr nett und geduldig (danke!), aber Du, Fab1, bist für mich der Held des Tages/Abends! Jetzt, nach dem Auskommentieren aller package-Zeilen, funktioniert es! Ich kann es kaum fassen. Schade, daß ich dafür nicht mehr als einen Dank vergeben kann.
Das hätte ich allein nie herausgefunden, da hätte ich wochenlang irgendwelche Manuskripte wälzen können.

Mir ist zwar völlig schleierhaft, wieso diese package-Befehle dort enthalten sind und warum sie ein solch destruktives Eigenleben bewirken/entwickeln und warum der Compiler sich davon so "aus dem Tritt" bringen läßt, aber das zu klären ist jetzt vielleicht etwas zuviel des Guten.

Bliebe noch das Debugging, das "Hindurchsteppen" mit Anzeige der relevanten Werte, aber nicht heute abend. Ich versuche es erst einmal allein bzw. mit Hilfe des Stöberns und Lesens.

Nochmals besten Dank an alle!
 
Zuletzt bearbeitet:

Java-Laie

Mitglied
Hi,

ich habe mir auch mal (kurz) das Programm angeschaut. Ich habe einfach in Eclipse
ein neues Java-Projekt angelegt und dann im Datei-Explorer den Unterordner von
"src" kopiert und in Eclipse in den Ordner "src" des Projektes eingefügt:

Rechtsklick auf den "src"-Ordner und dann "Paste".

Dann habe ich die Main.java geöffnet und mit "Run -> Run As -> Java Application" gestartet.

Also lief es? Auch mit package-Befehlen?

So sollte es funktionieren, obwohl ja anscheinend noch nicht so ganz klar ist
ob deine Java-Installation funktionstüchtig ist. Guck mal hier:

http://www.java-forum.org/java-faq-beitraege/8431-ubersicht-faq.html

Wie jetzt? Verstehe ich nicht. Erstens: Warum sollte meine - frisch installierte - Indigo-Installation fehlerhaft sein? Und was hat das zweitens mit den Forum-FAQ zu tun? Edit: Frage 2 ziehe ich zurück, es geht dort nur oben um das Forum, weiter unten um Java selbst.
 
Zuletzt bearbeitet:

Fab1

Top Contributor
So jetzt funktioniert es wenigstens um zu Debuggen musst du wie ja bereits mal erwähnt wurde Breakpoints setzen und anschließend auf Debug klicken, ist links neben dem Ausführen Button.
Mit F6 kannst du dann durch den Code steppen.

Was mich noch interessieren würde, eclipse müsste eigentlich den Fehler der nicht hinzugefügten Packages rot unterstreichen.
 

Ralph-Uwe

Bekanntes Mitglied
Guten Morgen,

ich habe das Projekt wie oben von mir beschrieben in Eclipse eingebunden
und es lief auf anhieb.

Keine Fehlermeldungen, keine Probleme. :toll:

Gruß
 

Java-Laie

Mitglied
Erneut vielen Dank!

So jetzt funktioniert es wenigstens um zu Debuggen musst du wie ja bereits mal erwähnt wurde Breakpoints setzen und anschließend auf Debug klicken, ist links neben dem Ausführen Button.
Mit F6 kannst du dann durch den Code steppen.

Ja, funktioniert prima, danke! Ich fand den "Key Assist(ent)". (Ctrl+)F5, F6, F7, alles klar. Gibt es auch eine Möglichkeit, zum nächsten Breakpoint zu springen? Dazu fand ich keine(n) Tastendruck bzw. Tastenkombinationsdruck. Macht sich nämlich bei Schleifen ungünstig, diese Schleifenwiederholungen mitzumachen. Allerdings gibt es auch eine Umgehungslösung (bei kurzen Schleifenkörpern): Schleifenkopf und Schleifenkörper in nur eine einzige Zeile zu packen.

Was mich noch interessieren würde, eclipse müsste eigentlich den Fehler der nicht hinzugefügten Packages rot unterstreichen.

Daran kann ich mich nicht entsinnen, das ist mir jetzt auch egal, denn ich bin heilfroh, daß das erst einmal im Debugmodus läuft. Bis hierher war es schon eine Zangengeburt mit leichter Tendenz zum Kaiserschnitt.

Vielen Dank und viele Grüße

Java-Laie
 
G

gman

Gast
Also lief es? Auch mit package-Befehlen?

Ja, weil ich halt den Unterordner von "src" (aus dem Zip) mit kopiert habe. Wenn du
nur die *.java-Dateien in das "src"-Verzeichnis von Eclipse kopierst liegen
die im default-Package und dann schlagen natürlich auch die "package"-Zeilen
fehl bzw. führen zu einem Fehler. Das hätte Eclipse eigentlich auch anmeckern
müssen.

Kurz erklärt: Die Java-Packages sind nur Unterordner des "src"-Verzeichnisses.
Wenn du also eine Klasse in ein Package packst (per "package de.wasauchimmer")
dann muss die .java-Datei auch im Ordner "src/de/wasauchimmer" liegen.

Gibt es auch eine Möglichkeit, zum nächsten Breakpoint zu springen?

Du kannst das Programm auch einfach weiter laufen lassen (den grünen "Play"-Knopf).
Wenn der Breakpoint am Schleifenkopf gesetzt ist, wird das Programm bei jedem
Schleifendurchgang anhalten. Setz einen Breakpoint auf die erste Zeile nach der Schleife
wenn du die Schleife komplett überspringen willst.
 
Zuletzt bearbeitet von einem Moderator:

Java-Laie

Mitglied
Guten Morgen,

ich habe das Projekt wie oben von mir beschrieben in Eclipse eingebunden
und es lief auf anhieb.

Keine Fehlermeldungen, keine Probleme. :toll:

Gruß

Tja, dann bist Du eben ein Glückspilz, worauf ich ein wenig neidisch bin. Wenn zwei das gleiche tun, ist eben noch lang nicht dasselbe. Bei mir spüren das Java SDK und/oder Indigo, daß ich ein Einsteiger bin, und damit ich es als solcher nicht zu einfach habe und nocht tüchtig lerne, weil ich noch zuhauf zu lernen habe, machen die mir es eben schwerer als Dir! :D

Zumindest Warnungen müßtest Du aber auch bekommen haben, weil einige Deklarationen überflüssig waren. Die zu entfernen, gelang sogar mir allein.

Viele Grüße

Java-Laie
 
G

gman

Gast
Bei mir spüren das Java SDK und/oder Indigo, daß ich ein Einsteiger bin,

Red dir nicht so eine Stuss ein! Wenn du Probleme hast, versuche die Ursache zu identifizieren
und suche dann nach einer Lösung. Gerade wenn du anfängst musst du wirklich bei jedem
Schritt darauf achten was du machst und solltest wissen warum du das so machst.

Du hast z.B. einfach Java-Dateien aus einer Ordnerstruktur in eine andere gepackt:
Da sollte man sich die Frage stellen ob so eine Ordnerstruktur vielleicht eine Rolle spielt.

Das soll jetzt keine Rüge sein, ich versuch dir nur zu erklären wie du dir das Leben/Lernen
vielleicht etwas leichter machst.
 

Java-Laie

Mitglied
Ja, weil ich halt den Unterordner von "src" (aus dem Zip) mit kopiert habe. Wenn du
nur die *.java-Dateien in das "src"-Verzeichnis von Eclipse kopierst liegen
die im default-Package und dann schlagen natürlich auch die "package"-Zeilen
fehl bzw. führen zu einem Fehler. Das hätte Eclipse eigentlich auch anmeckern
müssen.

Ach, es gab so viele Mißerfolge, daß ich das nicht mehr genau weiß. Daß irgendewelche class-Dateien als fehlend moniert wurden, kann ich mich aber noch genau erinnern.

Kurz erklärt: Die Java-Packages sind nur Unterordner des "src"-Verzeichnisses.
Wenn du also eine Klasse in ein Package packst (per "package de.wasauchimmer")
dann muss die .java-Datei auch im Ordner "src/de/wasauchimmer" liegen.

So ganz schlau werde ich aus den Antworten nicht. Weiter oben schrieb jemand, daß die class-Dateien nicht zwingend erforderlich sind, weil diese beim Compilieren selbst erzeugt wird (das sagt mir auch mein Spürsinn, denn das müssen ja irgendwelche (Pre-)Compilate sein, ein kurzer Blick dorthin verrät es). Original (ich veränderte die Verzeichnisstruktur ja nicht) lagen sie in einem anderen Unterverzeichnis. Eigentlich mußte das doch so von einer Java-IDE (von welcher, weiß ich nicht) so erstellt worden sein und die Java-IDEs müßten doch alle - zumindest weitgehend - untereinander kompatibel sein, so daß die das auch finden müßten.

Du kannst das Programm auch einfach weiter laufen lassen (den grünen "Play"-Knopf).
Wenn der Breakpoint am Schleifenkopf gesetzt ist, wird das Programm bei jedem
Schleifendurchgang anhalten. Setz einen Breakpoint auf die erste Zeile nach der Schleife
wenn du die Schleife komplett überspringen willst.

Ja, danke, ist klar!

Viele Grüße

Java-Laie
 

Java-Laie

Mitglied
Red dir nicht so eine Stuss ein! Wenn du Probleme hast, versuche die Ursache zu identifizieren
und suche dann nach einer Lösung. Gerade wenn du anfängst musst du wirklich bei jedem
Schritt darauf achten was du machst und solltest wissen warum du das so machst.

Das war doch ein SCHERZ. Reichte selbst das Emoticon nicht, das zu verdeutlichen?
 
G

gman

Gast
Im src-Verzeichnis liegen nur die java-Dateien (mit dieser Endung).

Original (ich veränderte die Verzeichnisstruktur ja nicht) lagen sie in einem anderen Unterverzeichnis.

Was denn jetzt? Ich bin davon ausgegangen das du die Java-Dateien einfach in das "src"-Verzeichnis des
neuen Eclipse-Projektes kopiert hast. Wenn ja war das dein Fehler, wie ich schon weiter oben geschrieben
habe. Du hättest eben das "andere Unterverzeichnis" (ich glaube es ist "inplaceshuffle" oder so) mit den
Java-Dateien in das "src"-Verzeichnis des Eclipseprojektes kopieren müssen.
 

Java-Laie

Mitglied
Was denn jetzt? Ich bin davon ausgegangen das du die Java-Dateien einfach in das "src"-Verzeichnis des
neuen Eclipse-Projektes kopiert hast. Wenn ja war das dein Fehler, wie ich schon weiter oben geschrieben
habe. Du hättest eben das "andere Unterverzeichnis" (ich glaube es ist "inplaceshuffle" oder so) mit den
Java-Dateien in das "src"-Verzeichnis des Eclipseprojektes kopieren müssen.

Nein, ich übernahm das Projekt so mit seiner Verzeichnisstruktur, wie ich es hier veröffentlichte. Sicher werde ich später die class-Dateien verschoben bzw. kopiert haben, aber wann, wohin und mit welchem (Miß-)Erfolg, das vermag ich nicht mehr zu reproduzieren. Gestern abend war es der pure Streß für mich.

Es läuft doch jetzt erstmal, insofern bin ich zufrieden und dankbar.

Leider ist das Hinzufügen von Variablen in das (fast) gleichnamige (Unter-/Teil-)Fenster der nächste in Indigo eingebaute Intelligenztest, an dem ich zu scheitern drohe (ich ahnte bis befürchtete es bereits). Mit Copy bei den Variablen gibt es kein Paste in dem Variables-Fenster. Weder aus Help - Eclipse Platform noch aus Java Debugging with Eclipse - Tutorial bin ich bislang schlaugeworden.

Erneut viele Grüße und vielen Dank für Eure Geduld!

Java-Laie
 
G

gman

Gast
Leider ist das Hinzufügen von Variablen in das (fast) gleichnamige (Unter-/Teil-)Fenster

Verstehe ich das richtig: Du willst beim Debuggen neue Variablen hinzufügen?

Das geht natürlich nicht. Ich glaube man kann den Wert der Variablen ändern (was ich aber noch
nie probiert habe), aber neue Variablen muss man schon vorher in den Code einfügen.
 

Java-Laie

Mitglied
Verstehe ich das richtig: Du willst beim Debuggen neue Variablen hinzufügen?

Das geht natürlich nicht. Ich glaube man kann den Wert der Variablen ändern (was ich aber noch
nie probiert habe), aber neue Variablen muss man schon vorher in den Code einfügen.

Jein. Ich möchte keine "wirklich" neuen Variablen einführen, sondern lediglich im Quelltext vorhandene in das "Variables"-Fenster hineinbekommen - ansonsten wäre das Debugging nicht so sehr hilfreich (gut, zum Aufspüren, an welchen Stellen kritische Programmsituationen (Abbruch/Exeptions) auftreten, gerade so noch, aber ohne Ursachenaufspürung).

Das Tutorial unter vogella.de (oben verlinkt) z.B. behauptet, daß man nach dem Aufrufen einen Zustand hat wie bei ihm. Nein, habe ich nicht, denn bei mir ist das Variables-Unterfenster leider leer, und wie er die eine Variable (args) vom Typ String) dort hineingezaubert hat, kann ich der Beschreibung leider nicht entnehmen. "Add a new variable" (oder, unmißverständlicher: "Add an existing variable"), das wäre es doch, doch danach suche ich mir einen Wolf. Und an solchen unnötigen Klitzekleinigkeiten scheitert man als Einsteiger leider erbarmungslos.

Vielleicht schreibe ich eine E-Mail dorthin, falls ich es anderweitig nicht erfahre.

Vielen Dank erneut und viele Grüße

Java-Laie

Edit: "Add a new variable" in Google gesucht - ich finde diese Diskussion....:)
 
Zuletzt bearbeitet:

Sly

Mitglied
Guten Morgen,

ich habe das Projekt wie oben von mir beschrieben in Eclipse eingebunden
und es lief auf anhieb.

Keine Fehlermeldungen, keine Probleme. :toll:

Gruß

Bei mir auch. Zuerst hatte ich den Fehler "The declared package "inplaceshuffle" does not match the expected package """, nachdem ich aber das Package unter src erzeugt hatte lief alles ohne Fehler. Ganau das Gegenteil von dem, was hier vorgeschlagen wurde.
 
G

gman

Gast
Wenn ich in Main.java in Zeile 27 einen Breakpoint setze, werden die Variablen "args", "ch" und "Ns"
in dem Variables-Fenster angezeigt.
Es könnte sein das du unter "Debug" eine falsche Zeile ausgewählt hast. Guck mal in den Screenshot.
 

Java-Laie

Mitglied
Wenn ich in Main.java in Zeile 27 einen Breakpoint setze, werden die Variablen "args", "ch" und "Ns"
in dem Variables-Fenster angezeigt.
Es könnte sein das du unter "Debug" eine falsche Zeile ausgewählt hast. Guck mal in den Screenshot.

Danke!

Das Debug-Teilfenster ist bei mir leer. Der Reiter "Server" fehlt komplett, den ich finde auch unter Window->Show View nicht, aber der ist wohl hoffentlich auch nicht wichtig.

Selbst, wenn ich im Debug-Fenster etwas hätte: Bedeutet das, daß man explizit Breakpoints setzen muß, um die Variablen in das Variables-Fenster hineinzubekommen?

Viele Grüße

Java-Laie

Edit: Ich lud soeben eine Bildschirmkopie meiner Eclipse-IDE hoch. Das Variablenfenster ist leer wie das Vakuum.
 
Zuletzt bearbeitet:
G

gman

Gast
Naja, wenn du keine Breakpoints setzt rennt das Programm ja einfach durch. Angezeigt wird ja nur
etwas wenn du auch durch das Programm "steppst". Und dafür brauchst du ja mindestens einen
Breakpoint.
Den "Server"-Reiter brauchst du nicht, ist ja schliesslich eine Java-Standalone-Anwendung.
 

Java-Laie

Mitglied
Naja, wenn du keine Breakpoints setzt rennt das Programm ja einfach durch. Angezeigt wird ja nur
etwas wenn du auch durch das Programm "steppst". Und dafür brauchst du ja mindestens einen
Breakpoint.
Den "Server"-Reiter brauchst du nicht, ist ja schliesslich eine Java-Standalone-Anwendung.

Breakpoints sind aber zwei beispielhaft gesetzt. Zeile 23 (eine von beiden) enthält auch Code mit Variablen (Chronometer=new Chronometer(); ). Dazu lud ich in meinem vorigen Beitrage eine Bildschirmkopie hoch. Egal, in welche Zeile ich einen Breakpoint auch setze, es tut sich nur noch etwas im Breakpoints-Teilfenster.

Viele Grüße

Java-Laie
 
Zuletzt bearbeitet:
G

gman

Gast
Öhm, das Programm hast du dann aber auch mal mit "Debug -> Debug As -> Java Application"
ausgeführt? Die Breakpoints werden natürlich erst wirksam wenn das Programm im Debug-Modus
läuft.
 

Java-Laie

Mitglied
Öhm, das Programm hast du dann aber auch mal mit "Debug -> Debug As -> Java Application"
ausgeführt? Die Breakpoints werden natürlich erst wirksam wenn das Programm im Debug-Modus
läuft.

Volltreffer!

Tausend Dank!

Ist eben nur begrentzt ein Vorteil, wenn man schon mit anderen IDEs gearbeitet hat.

Etwas unbehaglich ist mir dennoch dabei: Werden wirklich alle mich interessierenden Variablen angzeigt werden?

Ich schätze mal, daß ich jetzt allein weiterkomme, ansonsten melde ich mich noch einmal.

Vielen Dank für Eure Hilfe und Eure Geduld - meine war schon überstrapaziert, jedoch bemühte ich mich, mir das nicht anmerken zu lassen.

Viele Grüße

Java-Laie
 

Java-Laie

Mitglied
Was ich Euch noch schuldig bin, nämlich das, worum es überhaupt geht: Sicher sind hier auch und gerade etliche Informatiker unterwegs, die das schon mehr oder weniger erkannten und die damit etwas anfangen können. Es handelt sich um einen ziemlich neuen stabilen in-situ Mergesortalgorithmus, den ich in mein Sortieranimationsprogramm aufzunehmen gedenke. Um diesem seine Geheimnisse zu entlocken - die Skripte reichen dafür für mich nicht aus - erbettelte ich mir die Quelltexte (sicher eine Machbarkeitsstudie), die ich von einem der Autoren zum Glück auch erhielt (immerhin). Vom bloßen Lesen derselben werde ich nicht ausreichend schlau, dazu kenne ich C und seine Derivate leider zuwenig. Deshalb ist dieses mein "Fremdgehen" in einer anderen IDE zwecks Debugging erforderlich.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Exception nur im "Debug"-Modus und jedem 3.-5. mal Ausführen Java Basics - Anfänger-Themen 3
Q Eclipse Debug Mode Java Basics - Anfänger-Themen 2
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
J Probleme mit Debug Java Basics - Anfänger-Themen 3
D Debug Current Instruction Pointer Fehler Java Basics - Anfänger-Themen 8
J Tipp: Informativere Debug-Meldungen ausgeben Java Basics - Anfänger-Themen 4
P Debug- Modus Java Basics - Anfänger-Themen 3
G If Debug in JAVA? Java Basics - Anfänger-Themen 11
G Eclipse debug JVM_Bind Java Basics - Anfänger-Themen 6
F [Hibernate] Debug INFO Einstellungen Java Basics - Anfänger-Themen 5
N Unterschiedliche Resultate bei RUN und DEBUG !? Java Basics - Anfänger-Themen 8
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
laxla123 Eigenschaften eines Algorithmus (determiniert vs.. deterministisch) Java Basics - Anfänger-Themen 2
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
J Farbe des Striches eines TitledBorders ändern Java Basics - Anfänger-Themen 2
pc pc pc pc pc letztes Element eines Arrays n Java Basics - Anfänger-Themen 3
walid Öffnungszeiten eines Geschäftes Java Basics - Anfänger-Themen 3
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
U Eigenschaft eines JTextfiels per ActionListener ändern... Java Basics - Anfänger-Themen 2
B Synchronisation eines kleinen Museums Java Basics - Anfänger-Themen 47
krgewb Breite und Höhe eines Bildes in base64 auslesen Java Basics - Anfänger-Themen 3
Sachinbhatt Was ist die Notwendigkeit eines Sammlungsframeworks in Java? Java Basics - Anfänger-Themen 2
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
B Produkt eines double - streams Java Basics - Anfänger-Themen 3
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
D Inhalt eines Arrays ausgeben Java Basics - Anfänger-Themen 7
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
J Größe eines Strings in Pixel Java Basics - Anfänger-Themen 18
M Parse-Tree eines statements darstellen Java Basics - Anfänger-Themen 0
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
J Hinzufügen eines Objektes in ein Objekt-Array Java Basics - Anfänger-Themen 62
M Wie kann die Implementation einer Methode den Wert eines Attributs vermindern? Java Basics - Anfänger-Themen 3
A Rekursive Implementation eines Codes Java Basics - Anfänger-Themen 4
H String Repräsentation eines Rechtecks mit Instanz-Methode Java Basics - Anfänger-Themen 8
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
M Wie erreiche ich das Vorwärtsgehen eines Roboters? Java Basics - Anfänger-Themen 2
M Wie erreiche ich es das Vorwärtsgehen eines Roboters? Java Basics - Anfänger-Themen 0
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
A Optimierung eines Programms: Mergen der Dateien Java Basics - Anfänger-Themen 23
melisax Alle Möglichkeiten eines Wortes angeben Java Basics - Anfänger-Themen 3
A Java, verarbeitung eines xml-files Java Basics - Anfänger-Themen 2
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
C Überprüfen eines Programms auf Syntaxfehler Java Basics - Anfänger-Themen 3
S Wie kann ich den Bereich eines Integers begrenzen? Java Basics - Anfänger-Themen 2
nonickatall Grundsätzliches Verständnisproblem des Aufbaus eines Programms Java Basics - Anfänger-Themen 19
B Downgrade eines bestehenden Projektes Java Basics - Anfänger-Themen 5
amelie123456 Geschwindigkeit der Methode bewegeDich eines Objekts ändern Java Basics - Anfänger-Themen 2
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
J maximaler Wert eines Integers Java Basics - Anfänger-Themen 14
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Z Rückgabe eines Values in umgekehrte richtung Java Basics - Anfänger-Themen 5
L Methode zum invertieren eines Arrays Java Basics - Anfänger-Themen 7
B fragen zu Aufbau eines UML-Klassendiagramm Java Basics - Anfänger-Themen 1
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
M Benutzereingabe eines Codes verbessern Java Basics - Anfänger-Themen 3
B Modulo-Operator anhand eines Beispieles erklären Java Basics - Anfänger-Themen 7
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
F Auf Variablen eines Konstruktors zugreifen Java Basics - Anfänger-Themen 4
Kawastori Größe eines Arrays bestimmen Java Basics - Anfänger-Themen 13
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
C Wie kann ich Versionen eines Projektes in Eclipse erstellen? Java Basics - Anfänger-Themen 3
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
A Teilen eines Arrays Java Basics - Anfänger-Themen 5
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
R Löschen und ausgeben eines Teilbaums Java Basics - Anfänger-Themen 3
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
M Hilfe bei Strukturierung eines Buchungssystems Java Basics - Anfänger-Themen 3
M Erstellen eines insets Objekts, GridBagLayout Java Basics - Anfänger-Themen 13
M Rückgabe eines Arrays Java Basics - Anfänger-Themen 10
Z Erste Schritte Indexe innerhalb eines Arrays zusammensählen Java Basics - Anfänger-Themen 14
W Random Zahl unter Berücksichtung eines Durchschnitts Java Basics - Anfänger-Themen 7
N Länge eines Arrays in einem Objekt testen Java Basics - Anfänger-Themen 51
A Freie Stelle eines Arrays Java Basics - Anfänger-Themen 17
C Erstellen eines Widerstandsnetzwerks Java Basics - Anfänger-Themen 10
C Methode Seiten tauschen eines erstellten Rechtecks mit Seite A und B Java Basics - Anfänger-Themen 9
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
J Problem bei der Programmierung eines Tannenbaums Java Basics - Anfänger-Themen 9
F Berechnung der Rektaszension und Deklination eines Sterns Java Basics - Anfänger-Themen 7
1 Erste Schritte Was denkt ihr über eines meiner ersten Javaprogramme? Java Basics - Anfänger-Themen 2
A Problem bei returnen eines Wertes Java Basics - Anfänger-Themen 6
D Input/Output Problem bei der Benutzereingabe eines Befehls Java Basics - Anfänger-Themen 14
H Größte Duplikat (Größte Doppelte Wert) eines Arrays ausgeben Java Basics - Anfänger-Themen 9
M Hinzufügen eines Objekts auf ein Map Java Basics - Anfänger-Themen 4
M Auf einen Array innerhalb eines Objekts zugreifen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben