Я предполагаю, что вы хотите иметь возможность использовать пошаговую отладку из Eclipse. Вы можете просто запустить классы извне, установив встроенные классы в каталогах bin на пути к классам JRE.
java -cp workspace\p1\bin;workspace\p2\bin foo.Main
Вы можете выполнять отладку с помощью удаленного отладчика и файлов классов, встроенных в ваш проект.
В этом примере структура проекта Eclipse выглядит так:
workspace\project\
\.classpath
\.project
\debug.bat
\bin\Main.class
\src\Main.java
1. Запустите консоль JVM в режиме отладки.
debug.bat - это командный файл Windows, который следует запускать извне из консоли cmd.exe .
@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
В аргументах порт отладки был установлен на 8787 . Приостановить = у аргумент сообщает JVM, чтобы ждать , пока отладчик атташе.
2. Создайте конфигурацию запуска отладки.
В Eclipse откройте диалоговое окно «Отладка» («Выполнить»> «Открыть диалоговое окно отладки ...») и создайте новую конфигурацию удаленного Java-приложения со следующими параметрами:
- Проект: название вашего проекта
- Тип подключения: стандартный (гнездо для подключения )
- Хост: localhost
- Порт: 8787
3. Отладка
Итак, все, что вам нужно делать каждый раз, когда вы хотите отлаживать приложение, это:
- установить точку останова
- запустить командный файл в консоли
- запустить конфигурацию отладки
Вы можете отслеживать эту проблему в ошибке 122429 . Вы можете обойти эту проблему в своем приложении, используя уровень абстракции, как описано здесь .
System.out
иSystem.in
достаточно для моего варианта использования и отказался от использованияSystem.console()
.