Как запустить jar файл в командной строке
Перейти к содержимому

Как запустить jar файл в командной строке

  • автор:

Developing.ru

Всем привет .
Вот такая проблема:
В JBuilder запускается проект с параметром -Xmx110m (иначе вылетает OutOfMemoryError)- работает без ошибок
Пакую все в jar-файл, например, phone.jar. Запуск через обычный double click не идет.
Если ручками в консоли:

java -Xmx110m -jar phone.jar

Вопрос:
Как запустить jar с этим параметром (-Xmx110m) через double click ?

Иначе теряется весь смысл «Executable Jar File».
Простого юзера не заставишь что-то там набирать в «какой-то там консоли». Ну вы меня понимаете.

Как вариант — глобально задать выделение памяти 110m, но как?
Какой set . .

Спасибо за внимание.

evgeny_d Сообщения: 62 Зарегистрирован: 23 мар 2004, 08:31

А что, исполняемые jar-файлы только для этого и нудны??
А я думал, что для того, чтобы не париться и не искать конкретный класс, который надо запустить и т.п.

ИМХО, для того, чтобы пользователь не парился и мог запустить java-программу надо писать файлики phone.sh или phone.bat — по ситуации.

Oleg_S Сообщения: 27 Зарегистрирован: 22 апр 2004, 01:42 Откуда: Chisinau
А что, исполняемые jar-файлы только для этого и нудны??

Конечно же нет.
А из батника получаешь на долю секунды «моргание» консоли. Но так разумеется можно решить задачку.
Если обычную прогу легко запускаешь из jar, я надеялся, что и с параметром это тоже возможно.

evgeny_d Сообщения: 62 Зарегистрирован: 23 мар 2004, 08:31

sh скрипт — это всего лишь средство. наиболее простое ИМХО.

Можно ведь и на C++, например то же самое написать, тогда не будет «моргания». Правда сам не пробовал, но теоретически — должно работать.

Например, запостить такой вопросец в «Решите мне задачку» или на sourceforge.net посмотреть — наверняка кто-нибудь подобный «лаунчер» уже писал

DeeJayC Сообщения: 492 Зарегистрирован: 17 фев 2004, 11:26 Откуда: Ленинград (который Город на Неве) Контактная информация:

Есть такой «лаунчер»
Вместе с JDK/JRE идёт. javaw.exe называется.

«Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!» (c)

viel spass, DeeJayC

evgeny_d Сообщения: 62 Зарегистрирован: 23 мар 2004, 08:31

Однако это не решает упомянутой проблемы.

А «лаунчером» я назвал не java.exe или javaw.exe, а программу, которая как раз его запустит %)

Можно это сделать легко — через sh и bat, или посложнее — исполнив программу из другой .exe программы-лаунчера.

К слову сказать, быть может проблемка разрешается при помощи соответствующего набора параметров в META-INF/manifest.mf в исполняемом jar-файле

Oleg_S Сообщения: 27 Зарегистрирован: 22 апр 2004, 01:42 Откуда: Chisinau
Однако это не решает упомянутой проблемы.
при помощи соответствующего набора параметров в META-INF/manifest.mf в исполняемом jar-файле

Какие нужны параметры ? Кроме Main-Class: в моем случае там ничего нет

И повторюсь по поводу глобального выделения памяти для java программы — кто-то в курсе как это сделать? Тогда все должно решиться

DeeJayC Сообщения: 492 Зарегистрирован: 17 фев 2004, 11:26 Откуда: Ленинград (который Город на Неве) Контактная информация:

есть роскошный способ. Ассоциировать в win32 клик на jar с открытием javaw с параметрами

«Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!» (c)

viel spass, DeeJayC

evgeny_d Сообщения: 62 Зарегистрирован: 23 мар 2004, 08:31
DeeJayC писал(а): роскошный способ
Bas Сообщения: 21 Зарегистрирован: 10 мар 2004, 21:46
Oleg_S писал(а): Вопрос:
Как запустить jar с этим параметром (-Xmx110m) через double click ?

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

На самом деле, есть всевозможные лаунчеры (например InstallAnywhere), которые умеют создавать для проекта .exe файлы, управляемые с помощью конфигурационных файлов, где можно установить все нужные параметры для JVM — будет работать.

  • Системное и прикладное программирование
  • ↳ Win API, Shell..
  • ↳ C и C++
  • ↳ Delphi и Pascal
  • ↳ Программирование на Pascal и Delphi (Object Pascal)
  • ↳ Все вопросы ООП
  • ↳ Компоненты в Delphi
  • ↳ Delphi и WinAPI, ActiveX и OLE , COM и DCOM, и т.д
  • ↳ Java
  • ↳ MS Office и VB(A).
  • ↳ Ассемблер
  • WEB программирование
  • ↳ JScript, VBScript, DHTML.
  • ↳ Perl, PHP, ASP .
  • Некатегоризированное
  • ↳ Вопрошайка
  • ↳ SQL
  • ↳ Алгоритмы
  • ↳ Дизайн и графика
  • Администрирование
  • ↳ Apache, IIS.
  • ↳ Операционные системы
  • Работа
  • ↳ Вакансии и заказы для программистов
  • ↳ Поиск работы и заказов.
  • ↳ Решите мне задачку
  • ↳ задачи на Паскале и Delphi
  • ↳ задачи на C и C++
  • ↳ задачи на Basic и Visual Basic (VB)
  • Прочее
  • ↳ Жалобная книга
  • ↳ Флейм.

Запустите приложение Java из командной строки

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

Здесь мы сосредоточимся на сценарии автономного приложения. С этого момента мы будем называть его JAR-приложением.

В этом руководстве мы сначала узнаем, как создать приложение JAR. Позже мы узнаем, как запускать приложение JAR с аргументами командной строки или без них.

2. Создайте JAR — приложение​

Файл JAR может содержать один или несколько основных классов. Каждый основной класс является точкой входа приложения. Таким образом, файл JAR теоретически может содержать более одного приложения, но для запуска он должен содержать хотя бы один основной класс.

Файл JAR может иметь одну точку входа, установленную в его файле манифеста . В этом случае JAR-файл является исполняемым JAR -файлом . Основной класс должен быть включен в этот файл JAR.

Во-первых, давайте посмотрим на быстрый пример того, как скомпилировать наши классы и создать исполняемый JAR с файлом манифеста:

 $ javac com/foreach/jarArguments/*.java $ jar cfm JarExample.jar ../resources/example_manifest.txt com/foreach/jarArguments/*.class 

Неисполняемый JAR — это просто файл JAR, для которого не определен основной класс в файле манифеста. Как мы увидим позже, мы по-прежнему можем запускать основной класс, содержащийся в самом JAR-файле.

Вот как мы создадим неисполняемый JAR без файла манифеста:

 $ jar cf JarExample2.jar com/foreach/jarArguments/*.class 

3. Аргументы командной строки Java​

Как и любое приложение, приложение JAR принимает любое количество аргументов, включая нулевые аргументы. Все зависит от потребности приложения.

Это позволяет пользователю указать информацию о конфигурации при запуске приложения.

В результате приложение может избежать жестко закодированных значений и по-прежнему может обрабатывать множество различных вариантов использования.

Аргумент может содержать любые буквенно-цифровые символы, символы Юникода и, возможно, некоторые специальные символы, разрешенные оболочкой, например, @.

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

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

Однако это не всегда так для приложений JAR.

Как мы уже говорили, точкой входа основного класса Java является метод main . Все аргументы представляют собой String и передаются основному методу в виде массива String .

При этом внутри приложения мы можем преобразовать любой элемент массива String в другие типы данных, такие как char , int , double , их классы-оболочки или другие подходящие типы.

4. Запустите исполняемый файл JAR с аргументами​

Давайте посмотрим на основной синтаксис для запуска исполняемого файла JAR с аргументами:

java -jar имя-файла-jar [аргументы …]

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

Вот пример с двумя аргументами:

 $ java -jar JarExample.jar "arg 1" arg2@ 

Мы увидим этот вывод в консоли:

Способы запуска исполняемого файла JAR

Чтобы иметь возможность запускать исполняемые файлы JAR без использования эмуляторов, на компьютер необходимо установить платформу Java. Устанавливается компонент как обычная программа.

Способ 1: Меню Java (TM) Platform SE

Как запустить JAR файл в Windows 10-2

Сразу нужно отметить, что возможности данного способа ограничены. Хотя последняя версия платформы Java поддерживает запуск файлов JAR, далеко не факт, что конкретная Java-программа будет выполнена. Способ прост: кликните правой кнопкой мыши по файлу JAR и выберите в контекстном меню опцию «Открыть с помощью» «Java (TM) Platform SE binary».

Если ничего не произойдет, переходите к следующему способу.

Способ 2: Запуск в «Командной строке»

Попробуйте запустить исполняемый файл в консоли, если Java-программа не запустится, — по крайней мере, команда запуска вернет описание ошибки, по которому можно будет установить характер проблемы.

  1. Запустите из контекстного меню или системного поиска «Командную строку» или «PowerShell» (можно с обычными правами). Как запустить JAR файл в Windows 10-3
  2. Сформируйте и выполните команду вида java -jar «D:\executablejarfile.jar» , где содержимое кавычек – это путь к исполняемому файл JAR. Как запустить JAR файл в Windows 10-4

Способ 3: Эмуляторы Java

Лучше всего для запуска приложений Java использовать специальные программы-эмуляторы, из которых самым известным, универсальным и наиболее функциональным является KEmulator Lite. В настоящее время официальный сайт разработчика недоступен, но приложение по-прежнему можно найти в свободном доступе в интернете. Рекомендуем использовать русифицированную портативную версию эмулятора.

    Скачайте архив с программой, распакуйте в удобное расположение и запустите исполняемый файл KEmulator.exe.

Как запустить JAR файл в Windows 10-5

  • Выберите в меню «Файл»«Загрузить jar…» и укажите путь к файлу приложения или игры JAR. Как запустить JAR файл в Windows 10-06
  • Если файл не запустится или эмулятор выдаст ошибку, возможно, что-то не так с самим JAR-файлом либо для полноценной работы эмулятора требуются дополнительные компоненты, в частности Java SE Development.

    Sony Ericsson SDK

    В качестве альтернативы маловесному KEmulator Lite можно попробовать полноценную платформу виртуализации Java-приложений Sony Ericsson SDK. Официальный сайт разработчика более недоступен, однако эмулятор по-прежнему находится в свободном доступе. Также для этого понадобится набор библиотек Java SE Development Kit и утилита JADMaker, которую также придется поискать на просторах интернета.

    Скачать Java SE Development Kit с официального сайта

    1. Скачайте Sony Ericsson SDK, Java SE Development Kit (рекомендуется версия 8u191 x86) и JADMaker.
    2. Установите сначала Java SE Development Kit, а затем Sony Ericsson SDK. Инсталляцию следует выполнять с настройками по умолчанию, если вдруг эмулятор попросит добавить себя в исключения брандмауэра Windows, на это нужно дать согласие. Архив с утилитой JADMaker распакуйте в удобное расположение, она понадобится позже. В начале установки Sony Ericsson SDK появится окошко с предложением автоматического обнаружения каталогов Java SE Development Kit, нажмите в этом окошке «Да». Как запустить JAR файл в Windows 10-7
    3. Установив набор библиотек и эмулятор Sony Ericsson, зайдите в меню «Пуск» и выберите опцию «Sony Ericsson»«Default Device Selection». Как запустить JAR файл в Windows 10-8
    4. В открывшемся диалоговом окне выберите модель виртуального мобильного телефона, который станет использоваться по умолчанию. Как запустить JAR файл в Windows 10-9
    5. Запустите утилиту JADMaker и перетащите на ее окошко файл JAR, который будет преобразован в файл JAD. По умолчанию сконвертированный файл сохраняется в исходную папку. Как запустить JAR файл в Windows 10-10
    6. Откройте опять меню «Пуск» и запустите эмулятор, выбрав опцию «Sony Ericsson»«Run WIDP Application». Как запустить JAR файл в Windows 10-11
    7. В открывшемся окне обзора укажите путь к сконвертированному в JAD файлу JAR. Как запустить JAR файл в Windows 10-12
    8. В результате откроется окно эмулятора с названием Java-приложения. Чтобы его запустить, нажмите кнопку «Launch».

    Как запустить JAR файл в Windows 10-13

    К сожалению, использование даже такого мощного инструмента как Sony Ericsson SDK не гарантирует, что Java-приложение будет сразу же успешно запущено. Успех или неудача будут зависть от ряда факторов, как то: совместимость версии Java-приложения с эмулируемым мобильным устройством, а также сборки Windows 10. Так, по каким-то причинам в последних сборках этой системы платформа Sony Ericsson SDK работает некорректно.

    #8. Компиляция и выполнение java программы с командной строки

    Продолжаем курс программирования java для android-разработчиков. Данный урок научит вас запускать java программы из командной строки, для общего понимания процесса компиляции и запуска программ на языке java.

    После создания простого приложения, которое выводит что-то на экран, вы должны компилировать ваш код и запустить его.

    Независимо от того, какую операционную систему вы используете, Linux, Mac или Windows, если на вашем компьютере установлен JDK (Java Development Kit), вы можете в консоли набрать следующие команды чтобы скомпилировать и запустить программу:

    • javac (или javac.exe)
    • java (или java.exe)

    В первом случае будет вызван компилятор javac.exe, а во втором случае – запускалка java.exe, которая стартует нашу программу. Эти файлы лежат в папке bin вашего JDK.

    Рассмотрим на примере. Вспомним код из первого урока – создадим файл с названием Main.java.

    public class Main < public static void main(String[] args) < System.out.println("Hello, World!"); >>

    Идем в папку, куда среда разработки сохранила проект. Я работаю в IntelliJIDEA, и мой проект лежит в C:\Users\имя пользователя\IdeaProjects\название проекта\src. Находим там наш файл Main.java. Консоль вызывается так: щелкаем правой клавишей мыши с зажатой клавишей Shift на пустом месте в папке, где лежит файл нашей программы, и выбираем пункт контекстного меню “Открыть окно команд”.
    Для того, чтобы скомпилировать его нужно набрать в консоли команду javac и в качестве параметра передать имя нашего файла:

    javac Main.java

    Эта команда вызовет компилятор, который создаст файл Main.class, содержащий скомпилированный код нашей java программы.

    Чтобы запустить ее, нужно ввести команду java с именем класса (не файла!) в качестве параметра:

    java Main.class //так неправильно
    java Main //так правильно

    Аргументы

    В главном классе нашей программы есть метод public static void main(. ) , который в качестве аргумента принимает массив String[] args.

    Массив строк в качестве аргумента можно передать в программу при запуске из командной строки .

    Любой массив в Java имеет переменную длину, это число элементов в этом массиве.

    Добавим такой код в класс Main.java:

    public class Main < public static void main(String[] args) < for (int i = 0; i < args.length; i++) < System.out.println(args[i]); >> > 

    И чтобы скомпилировать и запустить программу с аргументами, пишем в консоль:

    javac Main.java java Main arg0 arg1 arg2

    Упражнение

    Создайте программу, которая выводит аргументы, переданные при запуске, в одну строку.

    Дополнительное чтение:

    • Сборка и выполнение Java программ
    • Исключения (Exception) и их обработка в Java

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *