Я считаю, что в конфигурациях запуска для Eclipse вы можете настроить, назначать ли консоль или нет - убедитесь, что это проверено. (Прошло много времени с тех пор, как я использовал Eclipse, поэтому я не могу давать конкретные инструкции, боюсь).
Если это не сработает, то что-то, что определенно выполнит эту работу, - это запустить ваше приложение в режиме отладки, а затем подключиться к процессу с помощью Eclipse. Ищите «eclipse remote debugging», если не знаете, как это сделать.
Кроме того, в целом, требует, чтобы была назначена консоль, поскольку это очень сильно влияет на гибкость вашего приложения - как вы только что обнаружили. Многие способы вызова Java не будут назначать консоль, и ваше приложение непригодно в этих случаях (что плохо). Возможно, вы могли бы альтернативно разрешить указание аргументов в командной строке. (Если вы тестируете консольный ввод специально, тогда достаточно справедливо, но для людей было бы полезно иметь возможность вызывать ваше приложение из сценариев и / или безголовых серверов, поэтому такой гибкий дизайн почти всегда является хорошей идеей . Это также часто приводит к более организованному коду.)