2009-11-06 3 views
9

Есть ли способ создать JAR-файл, содержащий некоторые аргументы, переданные в основной класс? (Не имеет значения, добавляет или добавляет аргументы в аргументы командной строки.)Аргументы по умолчанию в JAR-manifest

Я знаю, что могу просто написать класс начальной загрузки и указать это как основной класс (вызывающий реальный основной класс с аргументами), но это кажется немного неудобным.

+1

родственный вопрос/ответ: http://stackoverflow.com/q/212539/931379 – Pursuit

ответ

7

Насколько мне известно, нет. Вы должны будете делать это сами, в коде.

Многие люди считают полезным написать небольшой основной класс, который устанавливает среду, а затем действует как ClassLoader для «реальной» основной программы. Как правило, такие pre-mains скрипки с classpath их применения, но ваша проблема - это нечто другое, что можно решить так.

+3

Создание ClassLoader является излишеством. Вы можете просто вызвать OtherClass.main (String []) из основного, добавляя аргументы по умолчанию. –

+2

Правильно, Лоуренс. Мне не пришло в голову, что это дегенеративный случай того, для чего обычно используются обычные загрузчики классов. –

1

Я бы разработал приложение, чтобы иметь встроенные настройки по умолчанию и переопределять значения по умолчанию, если пользователь дает разные аргументы.

В вашей настройке, что произойдет, если пользователь дает аргументы, которые отличаются? Не закончилось бы с несколькими аналогичными аргументами и неловко справиться с этим?

6

Посмотрите на Java - VM arguments in manifest?, а также проверить Can runtime arguments be included in the manifest?

+2

+1, так как вы действительно отвечаете на вопрос, а не предлагаете изменения. –

+1

Я подозреваю, что это тот ответ, который я ищу. К сожалению, одна из ссылок теперь мертва, а другие ссылки на длинную, плохо отформатированную дискуссию, которая может содержать ответ. – Pursuit

Смежные вопросы