Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как получить аргументы командной строки вне main


Автор: gkraser 20.2.2011, 16:53
Как получить аргументы командной строки вне метода main?
Доступа к main не имею (не я запускаю), а аргументы нужны...

Автор: _Y_ 20.2.2011, 17:42
А как вообще происходит запуск и доступ к программе?

Автор: gkraser 20.2.2011, 18:20
Цитата(_Y_ @  20.2.2011,  17:42 Найти цитируемый пост)
А как вообще происходит запуск и доступ к программе? 

Запущенный (не мной) java-процесс порождает дочерние java-процессы (с разными main-классами). В дочернем процессе есть мой класс, который "как бы плагин". Вот из него и хотелось бы получить аргументы командной строки процесса, в котором он работает.

Автор: LSD 21.2.2011, 17:39
Как-то так:
Код

RuntimeMXBean mxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = mxBean.getInputArguments();

Автор: gkraser 21.2.2011, 19:44
Цитата(LSD @  21.2.2011,  17:39 Найти цитируемый пост)
Как-то так

Эххх... оно показывает только аргументы виртуальной машины (всякие там -Dxxx=yyy). А вот args, что после main-класса - нет... 

Автор: COVD 21.2.2011, 19:57
Если у вас "как бы плагин", и плагину для выполнения его функции действительно не хватает информации, то надо модифицировать интерфейс его взаимодействия с основной программой. Иными словами, действовать "официально", а не искать обходные варианты. Чтобы не противоречить идее плагинов. 

Автор: gkraser 21.2.2011, 20:13
Цитата(COVD @  21.2.2011,  19:57 Найти цитируемый пост)
Если у вас "как бы плагин", и плагину для выполнения его функции действительно не хватает информации, то надо модифицировать интерфейс его взаимодействия с основной программой. Иными словами, действовать "официально", а не искать обходные варианты. Чтобы не противоречить идее плагинов. 


Да вот именно в том и дело, что он "как бы плагин"...

Вообщем я так и не нашел как это самые аргументы получить, такое ощущение, что перед main они умирают быстрой и совершенно беспощадной смертью. Пришлось хитро подменить метод main, так что в принципе я свой геморой вылечил, однако осадок остался.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)