Ich gehe davon aus, dass Sie das schrittweise Debuggen von Eclipse verwenden möchten. Sie können die Klassen einfach extern ausführen, indem Sie die erstellten Klassen in den bin-Verzeichnissen im JRE-Klassenpfad festlegen.
java -cp workspace\p1\bin;workspace\p2\bin foo.Main
Sie können mit dem Remote-Debugger debuggen und die in Ihrem Projekt erstellten Klassendateien nutzen.
In diesem Beispiel sieht die Eclipse-Projektstruktur folgendermaßen aus:
workspace\project\
\.classpath
\.project
\debug.bat
\bin\Main.class
\src\Main.java
1. Starten Sie die JVM-Konsole im Debug-Modus
debug.bat ist eine Windows-Batchdatei, die extern von einer cmd.exe- Konsole ausgeführt werden sollte.
@ECHO OFF
SET A_PORT=8787
SET A_DBG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%A_PORT%,server=y,suspend=y
java.exe %A_DBG% -cp .\bin Main
In den Argumenten wurde der Debug-Port auf 8787 gesetzt . Das Argument suspend = y weist die JVM an, zu warten, bis der Debugger eine Verbindung herstellt.
2. Erstellen Sie eine Debug-Startkonfiguration
Öffnen Sie in Eclipse das Dialogfeld "Debuggen" (Ausführen> Dialogfeld "Debuggen öffnen ...") und erstellen Sie eine neue Konfiguration der Remote-Java-Anwendung mit den folgenden Einstellungen:
- Projekt: Ihr Projektname
- Verbindungstyp: Standard (Socket Attach)
- Gastgeber: localhost
- Hafen: 8787
3. Debuggen
Alles, was Sie tun müssen, wenn Sie die App debuggen möchten, ist:
- einen Haltepunkt setzen
- Starten Sie die Batch-Datei in einer Konsole
- Starten Sie die Debug-Konfiguration
Sie können dieses Problem in Fehler 122429 verfolgen . Sie können dieses Problem in Ihrer Anwendung umgehen, indem Sie eine Abstraktionsschicht verwenden, wie hier beschrieben .
System.out
undSystem.in
als ausreichend für meinen Anwendungsfall und abondaned verwendenSystem.console()
.