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

Обновлено: 04.07.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

java -jar jar-имя файла [args …]

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

Мы увидим следующий вывод в консоли:

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

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

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

5. Запустите неисполняемую банку с аргументами

Чтобы запустить приложение в неисполняемом файле JAR, мы должны использовать опцию -cp вместо -jar . Мы будем использовать параметр -cp (сокращение от classpath), чтобы указать файл JAR, содержащий файл класса, который мы хотим выполнить:

java -cp jar-file-name main-class-name [args …]

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

Неисполняемый JAR, созданный ранее, содержит то же самое простое приложение. Мы можем бежать

Неисполняемый JAR, созданный ранее, содержит то же самое простое приложение. Мы можем бежать

Неисполняемый JAR, созданный ранее, содержит то же самое простое приложение. Мы можем бежать

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

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

Поскольку это так, мы рассмотрим, как вы можете запустить чистый Jar-файл Java-приложения в Windows.

Как я могу запустить файл Jar в Windows 10?

  1. Добавить Java в Windows
  2. Откройте Jar-файл с помощью бинарного файла Java (TM) Platform SE
  3. Запустите файл JAR из командной строки Windows
  4. Добавить сторонний Jar Executor в Windows
  5. Загрузите этот инструмент, мы настоятельно рекомендуем

1. Добавить Java в Windows

  • Сначала откройте командную строку (Admin), нажав комбинацию клавиш Win + R и введя «cmd» в подсказке.
  • Затем введите «java -version» в командной строке и нажмите Enter. Затем он предоставит дополнительную информацию о вашей версии Java, как показано ниже.



Подробнее о том, как добавить последнюю версию Java в Windows 10, читайте в этой обновленной статье.

2. Откройте файл Jar с двоичным файлом Java (TM) Platform SE

  • В последней версии Java теперь вы можете запускать файлы Jar. Откройте проводник и папку с файлом, который вам нужен для запуска.
  • Вы должны щелкнуть правой кнопкой мыши файл Jar и выбрать Открыть с помощью в контекстном меню.
  • Нажмите Выберите другое приложение , а затем выберите, чтобы открыть его с помощью бинарного файла Java (TM) Platform SE .


Epic guide alert! Больше нет проблем с Проводником. Исправьте их все с помощью этого обширного руководства!

3. Запустите файл Jar из командной строки Windows

  • Кроме того, вы можете запустить Jar из командной строки. Нажмите клавишу Win + горячую клавишу X и выберите Командная строка (Администратор) , чтобы открыть ее как администратор.
  • Затем введите java j -jar c: pathtojarfile.jar ’в CP и нажмите Enter. Замените c: pathtojarfile.jar на фактический путь и заголовок файла Jar, который вам нужно запустить в Windows.


  • Кроме того, вы можете сначала открыть папку с Jar в командной строке, введя «cd /», а затем каталог. Затем вы можете ввести «java -jar file.jar» без указания пути к папке.

Это откроет исполняемый файл Jar, если он содержит файл манифеста для указания точки входа приложения. (Разработчики должны были уже включить это в архив.)

Если вы разрабатываете свои собственные программы на Java, вам необходимо преобразовать Jar в исполняемый формат.

Если у вас возникли проблемы с доступом к командной строке от имени администратора, вам лучше ознакомиться с этим руководством.

4. Добавьте сторонний Jar Executor в Windows

Нажмите на файл jarx.exe, чтобы запустить программное обеспечение, которое на самом деле не имеет графического интерфейса пользователя (кроме окна About jarx). Затем вы можете дважды щелкнуть Jar-файлы, чтобы запустить их в Windows.

Если у вас возникли проблемы с доступом к файлу JAR или у вас возникла какая-то ошибка, взгляните на это изящное руководство, чтобы найти отличные исправления.

5. Загрузите этот инструмент, мы настоятельно рекомендуем

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

  • Загрузить сейчас FileViewer Plus 3

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

Прямой запуск

Set-Location ″C:\Program Files″
.\Hello.exe

Прямой запуск программы из PoSh

Обратите внимание, что даже находясь в нужном каталоге, требуется указывать относительный путь к исполняемому файлу. Исключение составляют файлы из директорий, перечисленных в переменной окружения (path). Например различные встроенные программы и утилиты (notepad, calc, ping и т.п.), находящиеся в директории Windows\System32, можно запускать без указания пути.

запуск встроенных утилит

Оператор &

Если необходимо указать полный путь к исполняемому файлу, то можно воспользоваться оператором & (оператор вызова). Он позволяет выполнить строку текста, указанную в кавычках, как единую команду. Например:

запуск с использованием символа &

Поскольку оператор & не анализирует передаваемую команду, то он не может интерпретировать ее параметры. Поэтому дополнительные параметры\аргументы передаются также в виде текста, в кавычках. Для примера возьмем предыдущую программу и немного изменим ее, так что она принимает нужный текст в виде аргумента:

& ′C:\Program Files\Hello.exe′ ′Hello, world′

При желании можно указать нескольких аргументов через запятую:

& ′C:\Program Files\Hello.exe′ ′Hello,′, ′ world′

Для удобства команду и аргументы можно поместить в переменные:

$exe = ′C:\Program Files\Hello.exe′
$arg1 = ′Hello′
$arg2 = ′world′
& $exe $arg1 $arg2

запуск с аргументами

Ну и если аргументов много, то их можно объединить, воспользовавшись такой конструкцией:

$exe = ′C:\Program Files\Hello.exe′
$allargs = @(′Hello,′,′world′)
& $exe $allargs

варианты передачи аргументов

Invoke-Expression

Invoke-Expression -Command ′C:\Windows\Hello.exe′

Invoke-Expression -Command ′C:\Program Files\Hello.exe′

Эта особенность делает применение командлета крайне неудобным. Хотя при необходимости подобных ошибок можно избежать с помощью дополнительных кавычек, например так:

Invoke-Expression -Command ″C:\′Program Files′\Hello.exe″

использование Invoke-Expression для запуска программы

Start-Process

Start-Process -FilePath ′C:\Program Files\Hello.exe′

По умолчанию процесс выполняется в отдельном окне, которое закрывается по окончании процесса. Изменить такое поведение можно с помощью параметров, так следующая команда запустится в текущем окне:

Start-Process -FilePath ′C:\Program Files\Hello.exe′ -NoNewWindow -Wait

Также Start-Process позволяет передать в процесс дополнительные аргументы:

Start-Process -FilePath ′C:\Program Files\Hello.exe′ -ArgumentList ′Hello, world′ -NoNewWindow -Wait

запуск с использованием Start-Process

По умолчанию командлет ничего не возвращает, но с помощью параметра -PassThru можно заставить его вернуть объект процесса. Этот объект очень удобно поместить в переменную:

$process = Start-Process -FilePath ′C:\Program Files\Hello.exe′ -Wait -PassThru

из которой можно затем можно узнать многие полезные вещи, такие как статус:

или код выполнения:

варианты использования Start-Process

использование класса .Net для запуска программы

Такой способ достаточно неудобен и громоздок (на мой взгляд), но чуть более гибок в использовании. Для примера запустим нашу программу в текущем окне, передадим в нее аргументы и заберем результат выполнения:

варианты использования .Net

С помощью WMI можно сделать практически все, в том числе и запустить программу. Для этого вполне подойдет метод Create WMI-класса Win32_Process. Этот метод запускает процесс на локальном или удаленном компьютере через RPC. Например, для выполнения программы на локальном компьютере можно воспользоваться такой командой:

А для выполнения на удаленном компьютере команда будет выглядеть так:

запуск программы через WMI, способ 1

Как вариант, можно воспользоваться командлетом Invoke-WmiMethod:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList ″C:\Program Files\Hello.exe″

запуск программы через WMI, способ 2

Либо командлетом Invoke-CimMethod:

Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @

использование командлета Invoke-CimMethod

WMI запускает процесс в отдельном окне и возвращает объект, содержащий идентификатор процесса (ProcessID) и результат выполнения (ReturnValue). ReturnValue может принимать следующие значения:

Invoke-Command

Командлет Invoke-Command умеет выполнять команды на локальном или удаленном компьютере, используя WinRM. Например, для запуска нашей программы на локальном компьютере используем команду:

При необходимости в программу можно передать аргументы:

Обратите внимание, что Invoke-Command не очень дружит с пробелами, поэтому во избежании ошибок приходится исхитряться с кавычками. Впрочем, подобных проблем можно избежать, например комбинируя использования командлета с оператором &:

запуск программы с помощью Invoke-Command

Invoke-Command -ScriptBlock -ComputerName SRV1,SRV2,SRV3

$scriptblock =
$Computers = @(′SRV1′,′SRV2′,′SRV3′)
Invoke-Command -ScriptBlock $scriptblock -ComputerName $Computers

По умолчанию командлет возвращает результат выполнения программы, а если запустить его в фоновом режиме (параметр -AsJob), то возвращает объект Job:

Invoke-Command -ScriptBlock -ComputerName localhost -AsJob -JobName Hello

запуск Invoke-Command в фоновом режиме

Invoke-Item

Командлет Invoke-Item предназначен для применения к файлу действия по умолчанию. Так запустить исполняемый файл можно командой:

Invoke-Item -Path ″C:\Program Files\Hello.exe″

Однако наиболее удобно использовать Invoke-Item для открытия определенного типа файлов. Например так мы откроем текстовый файл:

Invoke-Item -Path ″C:\Files\test.txt″

А так все текстовые файлы в папке:

Invoke-Item -Path ″C:\Files\*.txt″

использование Invoke-Item

cmd /c ″C:\Program Files\Hello.exe″

запуск программы с помощью cmd

Такое вот изобилие способов запустить программу предоставляет PoSh. И каждый из них хорош для определенных ситуаций.

Кстати, статья написана по мотивам PowerShell: Deep Dive and Best Practice. Рекомендую почитать, там еще много интересного.

Перейдите в папку установки Java, перейдите в папку / bin /, щелкните правой кнопкой мыши файл Java.exe и установите для него «Запуск от имени администратора». Нажмите Windows + Икс ключи и выберите «Командная строка (администратор)» или же Powershell (Admin) и введите CMD.

Как открыть JAR файл через консоль?

Запустите файл Jar из командной строки Windows

Что делать если не открываются jar файлы?

Как запустить файл в PowerShell?

Щелкните правой кнопкой мыши файл . ps1 в Windows и в меню shell выберите пункт Выполнить с PowerShell . Если вам нужно запустить от имени администратора : Сделайте ярлык, указывающий на командную строку (я назвал его Административная Командная Строка)

Как запустить JAR файл Windows 7?

Как запустить файл JAR?

jar, следуйте этим правилам:

  1. Открыть notepad.exe.
  2. Напишите: java -jar Example. jar.
  3. Сохраните его с расширением . bat.
  4. Скопируйте его в каталог, содержащий файл . jar.
  5. Дважды щелкните по нему, чтобы запустить файл . jar.

Как открыть файл JAR?

Как, чем открыть файл . jar?

  1. 7-Zip.
  2. Oracle Java Runtime Environment.
  3. RARLAB WinRAR.
  4. Corel WinZip 24.
  5. Любой web-браузер

Как открыть файл jar на андроиде?

Чтобы запустить jar на Android, нужно инсталлировать специальный эмулятор, который называется Java Me. Существует множество подобных программ для Android, обладающих своими преимуществами и недостатками.

Что делать если не запускается установщик Java?

Загрузка и установка Java

Как открыть JAR файл в Intellij IDEA?

  1. Intellij Idea >>> File >>> Project Structure >>> Artifacts.
  2. Нажимаете + Выбираете >>> JAR >>> From modules with dependencies >>> Main Clas.
  3. Выбираете Main >>> установите галочку на extract to output target JAR >>> OK >>> В Output directry выберите где будет находится файл

Как запустить файл PS1?

Для того чтобы запустить скрипт PowerShell необходимо сделать текстовый файл (txt), набрать в нем необходимые команды, после этого сменить расширение файла на PS1. Если возникли проблемы с изменением расширения файла- оно не отображается, рекомендую прочитать статью- Как сделать видимым расширение файлов.

Как запустить PowerShell через командную строку?

Запуск PowerShell через командную строку

Нажимаем правой клавишей мыши по углу пуск или жмем Win+X, а в открывшемся меню выбираем подходящую командную строку. Если вам необходим PowerShell с правами администратора, то выбираем и командную строку с правами администратора.

Как запустить скрипт PowerShell по расписанию?

Для запуска скрипта воспользуемся оснасткой Task Scheduler, он же планировщик заданий. Найти его можно в разделе Administrative Tools, либо нажав Win+R и введя команду taskschd. msc. Открываем планировщик и в разделе Actions выбираем пункт Create Task.

Как открыть файл с расширением Java?

Как, чем открыть файл . java?

  • Блокнот Windows.
  • gVim.
  • Oracle NetBeans.
  • Eclipse IDE for Java Developers.
  • Oracle Java Virtual Machine.
  • Google Android Studio.
  • Xinox JCreator.
  • ES-Computing EditPlus.

Как открыть программу с помощью Java?

В командной строке зайдите в директорию java-программы, которую нужно запустить. После выполнения данной процедуры, введите команду java -cp [имя файла]. jar [имя основного класса программы] и нажмите на клавишу Enter, это запустит выполнение файла.

У меня есть файл JAR с именем файл HelloWorld.Джар. Чтобы запустить его, я выполняю следующую команду в окне командной строки:

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

самый простой маршрут, вероятно, обновление или повторная установка среды выполнения Java (JRE).

в Windows Vista или Windows 7,ручной редактор ассоциаций файлов удалено.

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

Если вам нужно распространить ваши .jar-файл и сделать его работоспособным на компьютерах Windows других людей, вы можете сделать простой .bat файл как это в командной строке:

и место .файл bat в том же каталоге, что и ваш.файл jar.

если у вас есть файл jar с именем Example.jar, следуйте этим правилам:

  1. открыть notepad.exe
  2. пишем : java -jar Example.jar
  3. сохранить его с расширением .bat
  4. скопируйте его в каталог, который имеет
  5. дважды щелкните его, чтобы запустить свой

интересный побочный эффект этого вызывает проблему при запуске запускаемых файлов jar в командной строке.

Если вы попробуете (в командной строке)

нет радости, потому что это переводится на следующее (Это не работает):

javaw, который.exe-jar jarfile.параметр банку

однако следующая команда работает:

java.exe-jar файла jarfile.параметр банку

Если вы измените ассоциацию в файловом менеджере, как описано выше, на:

"C:\Program файлы\Java\j2re1.4.2_04\bin\java.exe "- jar "%1"%*

затем вы можете ввести:

в командной строке, и теперь он будет работать! EDIT: (однако затем вы получаете черное окно консоли при запуске Java-приложения на основе формы (не консоли), поэтому это не идеальный вариант решение)

Если вы запустите эти файлы jar, дважды щелкнув их в windows, никакие параметры не будут переданы, поэтому ваш код Java должен обрабатывать исключение переполнения стека и включать функцию "нажмите клавишу" в конце или окно просто исчезнет.

чтобы передать параметр в windows, вам нужно создать ярлык для файла jar, который включает параметр в целевую строку (щелкните правой кнопкой мыши на ярлыке и выберите Свойства) , вы не можете добавить параметры в сам значок файла jar таким образом.

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

существует бесплатное приложение для windows под названием "bat to exe", которое вы можете использовать для создания exe-файла из.файл bat с командной строкой apropriate в нем. вы также можете встроить файл jar в exe с помощью этого приложения и очистить его, когда он закончит работу, так что это может быть больше элегантное решение.

Читайте также: