сделать JAR-файл для консоли - PullRequest
4 голосов
/ 21 декабря 2010

У меня есть программа без графического интерфейса, и я использую консоль!Итак, сначала я читаю строку пользователя из консоли

BufferedReader userReader = new BufferedReader (new InputStreamReader (System.in));

, а затем я напишуответ для пользователя в консоли!

System.out.println ("Сервер:" + вывод);

Я хочу создать для него файл jar!но как я могу показать свою консоль в JAR-файл без использования графического интерфейса?пожалуйста, помогите мне спасибо.

Ответы [ 4 ]

11 голосов
/ 21 декабря 2010

Вам необходимо запустить JAR-файл из командной строки.Например:

java -jar yourJar.jar
pause

Если вы хотите форсировать это, есть разные способы сделать это:

  • файл ярлыка для CMD и ваш jar в качестве аргумента
  • пакетный файл, в котором запущен ваш jar-файл с использованием кода, подобного моему выше
  • , вызывающий его из пакетного файла вручную (как я делал выше)
7 голосов
/ 21 декабря 2010

Во-первых, нет таких вещей, как «консоль JAR» и «GUI JAR». Тем не менее, существуют разные средства запуска VM для режимов консоли и графического интерфейса. Или, точнее, есть разные средства запуска, один из которых имеет консоль, а другой - нет, но оба они способны отображать графический интерфейс, если он есть в вашей программе. Эти средства запуска называются «java» (консольная версия) и javaw (нет консольной версии).

Чтобы запустить JAR с определенной программой запуска, используйте команду «javaw -jar JARFILE» или «java -jar JARFILE». Если вы запустите консольную версию, не открывая консоль, прежде чем делать это, консоль закроется, как только ваша программа будет завершена. Это означает, что если вы хотите увидеть выходные данные, вы не должны слишком быстро завершать свою программу или просто сначала запустить консоль (Win + R, «cmd», Enter) и запустить «java -jar ...» из консоли.

Другой способ - перейти на панель управления Windows и изменить программу, связанную с расширением JAR , с «javaw» на «java». Это заставит каждый JAR в системе использовать консоль. Для файлов JAR с графическим интерфейсом это только создаст неудобство, связанное с открытием другого окна. Иногда это то, что вы хотите, иногда нет.

3 голосов
/ 21 декабря 2010

Создание исполняемого фляги - то же самое независимо от того, GUI или нет.Вам нужно указать свой Main-Class в своем META-INF/MANIFEST.MF.См. здесь и и здесь

Конечно, если вы хотите запустить что-то на консоли, просто откройте консоль и используйте следующее: java -jar archive.jar (свышеуказанные требования выполнены)

Тогда я бы рекомендовал использовать java.io.Console для чтения и записи на консоль.

0 голосов
/ 21 декабря 2010

Процесс создания JAR-файла одинаков для консольных и графических приложений. Вы определенно не видите выход вашего JAR. Просто запустите его из консоли, и вы увидите вывод. Для удобства использования вы можете создать командный файл (MS-Windows) для запуска JAR.

...