Я припускаю, що ви хочете мати можливість використовувати поетапну налагодження від Eclipse. Ви можете просто запустити класи зовнішньо, встановивши вбудовані класи в бінні каталоги на шляху 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 відкрийте діалогове вікно налагодження (Запуск> Відкрити діалогове вікно налагодження ...) та створіть нову конфігурацію віддаленої програми Java з такими налаштуваннями:
- Проект: назва вашого проекту
- Тип з'єднання: Стандартний (Socket Attach)
- Ведучий: localhost
- Порт: 8787
3. Налагодження
Отже, все, що вам потрібно зробити, коли ви хочете налагодити додаток, це:
- встановити точку перерви
- запустити пакетний файл у консолі
- запустити конфігурацію налагодження
Ви можете відстежити цю проблему в помилці 122429 . Ви можете подолати цю проблему у своїй програмі, використовуючи шар абстрагування, як описано тут .
System.out
іSystem.in
він буде достатнім для мого випадку використання та абонентського використанняSystem.console()
.