Полагаю, вы хотите использовать пошаговую отладку из 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 . Аргумент suspend = y указывает JVM подождать, пока отладчик не подключится.
2. Создание конфигурации запуска отладки
В Eclipse откройте диалоговое окно «Отладка» («Выполнить»> «Открыть диалог отладки ...») и создайте новую конфигурацию Remote Java Application со следующими параметрами:
- Проект: название вашего проекта
- Тип подключения: Стандарт (гнездо)
- Хост: localhost
- Порт: 8787
3. Отладка
Итак, все, что вам нужно сделать в любое время, когда вы хотите отладить приложение, это:
- установить точку останова
- запуск командного файла в консоли
- запустить конфигурацию отладки
Вы можете отследить эту проблему в bug 122429 . Вы можете обойти эту проблему в своем приложении, используя слой абстракции, как описано здесь .