Run jar file in command prompt [duplicate]
If you dont have an entry point defined in your manifest invoking java -jar foo.jar will not work.
Use this command if you dont have a manifest or to run a different main class than the one specified in the manifest:
java -cp foo.jar full.package.name.ClassName
See also instructions on how to create a manifest with an entry point: https://docs.oracle.com/javase/tutorial/deployment/jar/appman.html
answered Apr 25, 2011 at 3:52
9,224 2 2 gold badges 23 23 silver badges 34 34 bronze badges
This also works if you want to run a different class main than what is specified in the manifest.
Jan 13, 2016 at 1:30
For Developers, I think this is a better answer than Bala R’s, although they should ideally be combined
Aug 8, 2016 at 18:23
I would say this should be the accepted answer not the other one.
Aug 9, 2018 at 17:23
what if i don’t have an main method ? i want to use the a static method , with parameters
Oct 9, 2018 at 11:47
@MoxGeek you need a static method named main . I don’t think there is a way arround this. You can still write your own Main class and import your other class from there. Extra parameters to pass to the main method just comes after your full.package.name.ClassName . You could also have a look to java REPL, like jshell and import what you need, this solution would feel more «scripting» style.
Oct 9, 2018 at 15:15
java [any other JVM options you need to give it] -jar foo.jar
answered Apr 25, 2011 at 3:46
QuantumMechanic QuantumMechanic
13.8k 4 4 gold badges 45 45 silver badges 66 66 bronze badges
-D arguments go before the -jar! thanks I needed that
Nov 21, 2013 at 4:02
You can run a JAR file from the command line like this:
java -jar myJARFile.jar
answered Apr 25, 2011 at 3:46
127k 22 22 gold badges 252 252 silver badges 233 233 bronze badges
well done for answering 2 seconds before the accepted answer 🙂
May 15, 2016 at 22:45
- java
- jar
-
Featured on Meta
Linked
Related
Hot Network Questions
Site design / logo © 2024 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2024.1.22.3688
Как компилировать и запускать программу Java с помощью командной строки
Соавтор(ы): Yaffet Meshesha. Яффет Мешеша — специалист по компьютерам и основатель компании Techy, которая занимается ремонтом компьютеров, включая доставку в мастерскую и обратно к клиенту. Имеет более восьми лет опыта, специализируется на ремонте компьютеров и технической поддержке. О Techy писали TechCrunch и Time.
Количество просмотров этой статьи: 69 463.
В этой статье:
Хотя многие среды программирования позволяют компилировать и запускать программы, их также можно скомпилировать и запустить с помощью командной строки. У Windows и Mac есть свои собственные версии командной строки, на Mac OS она называется Терминал. Процесс компиляции и запуска для Windows и для Mac практически идентичен.
Метод 1 из 2:
Компиляция и запуск
![]()
- Чтобы сохранить файл как .java, после имени файла напишите .java и выберите Все файлы в выпадающим меню выбора расширений.
- Запомните, куда вы сохранили файл.
- Если вы не знаете, как написать программу на Java, поищите дополнительное руководство об этом. Однако, чтобы научиться компилировать и запускать программы, можно использовать любую программу, написанную на Java.
![]()
- Windows: нажмите Пуск , затем введите cmd. Чтобы открыть Командную строку, нажмите ↵ Enter .
- Mac: в Finder нажмите на вкладку Переход, выберите Программы, затем – Утилиты и кликните по Терминал.
![]()
- Если нет, вам нужно установить Java Development Kit с их веб-сайта. Его можно бесплатно скачать по ссылке: http://www.oracle.com/technetwork/java/javase/downloads/index.html.
![]()
- Например, если вы сейчас находитесь в каталоге C:\Users\Bob\Project и хотите его изменить на C:\Users\Bob\Project\TitanProject , введите cd TitanProject и нажмите ↵ Enter .
- Если вы введете dir и нажмете ↵ Enter , то сможете увидеть список файлов, которые находятся в этом каталоге.
![]()
- Если в вашей программе есть какие-либо ошибки или возникли трудности с компиляцией, командная строка вас об этом предупредит.
- Для получения дополнительной справки ознакомьтесь с нашей статьей о том, как исправить ошибки компилятора в Java.
![]()
- После нажатия ↵ Enter ваша программа должна запуститься. Если вы получили сообщение об ошибке или ваша программа не работает, используйте метод устранения ошибок.
Метод 2 из 2:
Устранение ошибок
![]()
- Windows: в командной строке введите java -version и нажмите ↵ Enter . Основываясь на версии Java, указанной в первой строке, введите в командной строке set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin и нажмите ↵ Enter . Замените jdk1.5.0_09 версией Java, которая у вас установлена.
- Вводите эту команду, когда будете находиться в каталоге с вашей программой Java.
- Опять же, важно, чтобы вы загрузили и установили Java JDK на свой компьютер. Ссылка для загрузки: http://www.oracle.com/technetwork/java/javase/downloads/index.html.
Дополнительные статьи

запустить файл Python с помощью Командной строки Windows
вставить пробелы в HTML
написать программу в блокноте

научиться писать программы

писать компьютерные программы

создать очень простую программу в Python

добавлять и удалять учетные записи пользователей через командную строку Windows

использовать DOSBox

создать калькулятор, используя язык HTML

изменить размер шрифта в Python shell

менять цвета в Командной строке

сделать задержку в командном файле

добавить горизонтальную линию в HTML

создать гиперссылку в HTML
Об этой статье
Специалист по компьютерам
Соавтор(ы): Yaffet Meshesha. Яффет Мешеша — специалист по компьютерам и основатель компании Techy, которая занимается ремонтом компьютеров, включая доставку в мастерскую и обратно к клиенту. Имеет более восьми лет опыта, специализируется на ремонте компьютеров и технической поддержке. О Techy писали TechCrunch и Time. Количество просмотров этой статьи: 69 463.
Running JAR file on Windows
I have a JAR file named helloworld.jar. In order to run it, I’m executing the following command in a command-line window:
java -jar helloworld.jarThis works fine, but how do I execute it with double-click instead? Do I need to install any software?
8,500 16 16 gold badges 50 50 silver badges 85 85 bronze badges
asked Dec 27, 2008 at 3:19
16.2k 21 21 gold badges 76 76 silver badges 120 120 bronze badges
Follow the steps described here : Executing a Jar on Vista with a double click
Dec 27, 2008 at 15:1725 Answers 25
Easiest route is probably upgrading or re-installing the Java Runtime Environment (JRE).
- Open the Windows Explorer, from the Tools select ‘Folder Options. ‘
- Click the File Types tab, scroll down and select JAR File type.
- Press the Advanced button.
- In the Edit File Type dialog box, select open in Actions box and click Edit.
- Press the Browse button and navigate to the location the Java interpreter javaw.exe.
- In the Application used to perform action field, needs to display something similar to C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe» -jar «%1» % (Note: the part starting with ‘javaw’ must be exactly like that; the other part of the path name can vary depending on which version of Java you’re using) then press the OK buttons until all the dialogs are closed.
11.5k 4 4 gold badges 62 62 silver badges 89 89 bronze badges
answered Dec 27, 2008 at 3:33
Brian Kelly Brian Kelly
5,574 4 4 gold badges 28 28 silver badges 31 31 bronze badgesi think the easy way is to right click any ,jar file > open with and chose «Java runtime environment». 🙂
Nov 1, 2012 at 16:37
doing so , always gives this error to me » Java platform SE binary has stopped working » . Can anyone help, what could be the issue?
Mar 5, 2013 at 13:32
@Faizan — Your issue sounds like a separate problem. I see a few SO and Google results for «Java platform SE binary has stopped working». I would check those out.
Mar 5, 2013 at 16:44
there is no File Types tab in Folder options in win 7
Dec 2, 2013 at 12:44same with Win 10. did this get moved somewhere with the same functionality? the Windows 10 system ‘default app by file type’ page seems to not let you edit the execution command to add a ‘jar parameter
Dec 19, 2020 at 19:27
In Windows Vista or Windows 7, the manual file association editor has been removed.
The easiest way is to run Jarfix, a tiny but powerful freeware tool. Just run it and your Java apps is back. double-clickable again.
1 1 1 silver badge
answered Jan 7, 2010 at 17:14
Hendy Irawan Hendy Irawan
20.7k 12 12 gold badges 103 103 silver badges 114 114 bronze badgesit would be great if someone somewhere could detail the changes this executable makes so that someone could choose to repeat it manually without exetuting some random strangers compiled code.
Dec 19, 2020 at 19:29
If you need to distribute your .jar file and make it runnable at other people’s Windows computers, you can make a simple .bat file like this in the command prompt:
java -jar MyJavaTool.jarand place the .bat file in the same directory as your .jar file.
user5167255
answered Sep 19, 2011 at 12:08
887 6 6 silver badges 3 3 bronze badgesBut how is the .bat executed? Would this be the same strategy to get the Java application to open up a command-line session as well?
Jul 8, 2017 at 1:27
Well no, you would just open the bat file. I’m not sure I understand your question.
– user9016207
Jan 27, 2018 at 20:24If you have a jar file called Example.jar, follow these rules:
- Open a notepad.exe
- Write : java -jar Example.jar
- Save it with the extension .bat
- Copy it to the directory which has the .jar file
- Double click it to run your .jar file
14.2k 30 30 gold badges 106 106 silver badges 164 164 bronze badges
answered May 21, 2010 at 5:56
367 3 3 silver badges 2 2 bronze badgesGreat way to run a jar on Windows! It also doesn’t hide the command line input, so I was able to see why my jar wasn’t running like I thought it should. Thank you.
Apr 12, 2016 at 17:57
An interesting side effect of this causes a problem when starting runnable jar files in the command prompt.
If you try (in a command prompt):
jarfile.jar parameterNo joy, because this is being translated to the following (which doesn’t work):
javaw.exe -jar jarfile.jar parameterHowever, the following command does work:
java.exe -jar jarfile.jar parameterIf you change the association in file manager as described above to:
"C:\Program Files\Java\j2re1.4.2_04\bin\java.exe" -jar "%1" %*Then you can type:
jarfile.jar parameterin the command prompt and it will now work!
EDIT:(However you then get a black console window when you run a form based (non console) Java app, so this is not an ideal solution)
If you run these jar files by double clicking them in windows, no parameters will be passed so your Java code needs to handle the stack overflow exception and include a «press a key» function at the end or the window will just disappear.
In order to pass a parameter in windows you have to create a shortcut to the jar file, which includes the parameter in the target line (right click on the shortcut and select properties) you can not add parameters to the jar file icon itself in this way.
There isn’t a single, consistent solution here, but you would have the same problem with any other console application.
There is a windows freeware application called «bat to exe» which you can use to create an exe file from a .bat file with the apropriate command line in it. you can also embed the jar file in the exe with this application, and make it clean it up when it has finished running, so this may be a more elegant solution.
Быстрый старт в Java. Терминал и Java
В современном мире большинство программистов используют интегрированные среды разработки (IDE), которые предоставляют широкий набор функций и инструментов для создания, отладки и тестирования кода. Однако, не все разработчики умеют работать с терминалом, который также является важным инструментом для запуска и тестирования кода. В данной статье мы поговорим о том, как установить Java, попытаемся найти разницу между OpenJDK и OracleJDK, научимся компилировать, собирать jar-файлы, писать самостоятельно MANIFEST.mf и дебажить свой код в терминале.
Установка Java. Разница между OpenJDK и OracleJDK
Как установить Java? Очень просто, заходим в браузер и пишем: «Скачать Java [ваша операционная система]», и вам высыпаются тысячи страниц с подробными инструкциями. Только помните, что вам для разработки нужен именно JDK, а не JRE! Другое дело — это выбрать между OpenJDK и OracleJDK. В чем же разница? Такой ответ дает ChatGPT:
OracleJDK и OpenJDK — это две различные реализации Java Development Kit (JDK), которые предоставляются разными компаниями. OracleJDK разрабатывается и поддерживается компанией Oracle, а OpenJDK — открытым сообществом разработчиков.
Основная разница между OracleJDK и OpenJDK заключается в лицензировании и поддержке. OracleJDK имеет коммерческую лицензию и предоставляет дополнительную поддержку и инструменты для разработки, такие как JavaFX и Java Mission Control. OpenJDK, с другой стороны, является бесплатным и открытым для использования и распространения, но не предоставляет коммерческой поддержки.
Однако, в последние годы Oracle перестала предоставлять бесплатные обновления OracleJDK для коммерческого использования. Вместо этого они рекомендуют использовать OpenJDK или покупать коммерческую поддержку для OracleJDK.
В целом, выбор между OracleJDK и OpenJDK зависит от ваших потребностей и бюджета. Если вам нужны дополнительные инструменты и поддержка, то OracleJDK может быть лучшим выбором. Если вы ищете бесплатную и открытую реализацию, то OpenJDK будет подходящим вариантом.
Каждый должен сделать свой выбор! Например, я установил OpenJDK, так как это было гораздо проще, чем установить OracleJDK.
Как проверить, что Java теперь есть в вашем компьютере?
Просто напишите в терминале:
java -version
Если вы получили что-то похожее, то поздравляю! Вы теперь имеете Java на своем компьютере!
Первая программа на Java
Давайте напишем «классическую первую» программу!
public class Hello < public static void main(String[] args) < System.out.println("Да здравствует, Король Джулиан!"); >>Напишите этот код в любом текстовом редакторе и сохраните под названием Hello.java. Если вы назовете файл по-другому, то код у вас не скомпилируется, так как в первой строчке мы указали, что class у нас носит имя Hello. Вторая строка создает классический для C-подобных языков main класс. Не спрашивайте почему, просто так принято :D. А в третьей строке мы просим язык вывести строку «Да здравствует, Король Джулиан!» Синтаксис Java не является ключевой темой данной статьи, поэтому простите за сжатый рассказ о том, что делает данный код.
Компиляция в терминале
После создания Hello.java перейдем в терминал. Важно перейти в каталог, где лежит этот файл. Для того чтобы скомпилировать файл, нужно написать в терминале:
javac Hello.javaПосле выполнения этой команды в каталоге, где был файл, создаться новый файл Hello.class

Теперь можно запустить нашу программу. Достаточно написать в терминале:
java Hello
К компиляции мы еще вернемся. Но сначала изучим, как собирать jar-файл.
Как собрать jar-файл?
Что такое Jar-файл?
Jar-файл (Java Archive) — это архивный файл, который содержит один или несколько файлов Java-кода, библиотек и других ресурсов, необходимых для выполнения приложения на платформе Java.
Что необходимо для сборки jar-файла? Чтобы собрать jar, вам нужен файл.class и MANIFEST.mf. MANIFEST.mf — это файл, который содержит метаданные для создания jar-файла. Давайте создадим файл MANIFEST.mf в каталоге, где уже лежат два файла: Hello.java, Hello.class. Для того чтобы создать MANIFEST.mf, нужно зайти в текстовый редактор и написать следующие строки.
Manifest-Version: 1.0 Created-By: [указываем номер версии Java] Main-Class: Hello- В первой строке указываем версию создаваемого файла. По стандарту пишут (1.0)
- Во второй строке указываем версию Java. Напишите в терминале java -version и перепишите цифры.
- В третьей строке указываем главный класс. Так как у нас программа состоит из одного файла, то указываем Hello, в противном же случае нужно было бы сделать осознанный выбор.
Теперь сохраняем данный файл под названием MANIFEST.mf в каталоге, где лежат наши 2 файла. У нас всё готово для сборки jar-файла! Осталось только перейти в терминал и написать:
jar -cfm Hello.jar MANIFEST.mf Hello.classЕсли перейдем в каталог, то увидим, что у нас создался файл Hello.jar, можно было назвать Hello.jar по-другому, здесь имя значения не имеет, главное чтобы файл заканчивался на .jar. Чтобы запустить jar-файл, нужно в консоли написать:
java -jar Hello.jarХитрая компиляция
Команда javac имеет много возможностей. Например, чтобы скомпилированный файл сохранить в другой директории достаточно написать при компиляции:
javac Hello.java -d [путь до каталога]Можно посмотреть процессы, которые происходят во время компиляции, с помощью этой команды:
javac Hello.java -verboseСуществует еще много возможностей. Для подробного изучения напишите в терминале:
man javacДебаггинг в терминале
Для того чтобы заниматься таким странным делом в терминале, нужно скомпилировать наш файл с определенным параметром:
javac Hello.java -gПосле этого запускаем отладчик jdb (Далее комментарии будут в скобках в коде):
jdb Hello Initializing jdb . (Нужно установить стоп-точку) > stop at Hello:5 Deferring breakpoint Hello:5. It will be set after the class is loaded. (Перейдем к стоп-точке с помощью команды run) > run run Hello Set uncaught java.lang.Throwable Set deferred uncaught java.lang.Throwable > VM Started: Set deferred breakpoint Hello:5 Breakpoint hit: "thread=main", Hello.main(), line=5 bci=0 5 System.out.println("Да здравствует, Король Джулиан!"); (Если у нас были бы переменные, то их значения можно было прочитать с помощью команды print [имя переменной]) main[1] (Например: print a) (Посмотреть отрывок кода можно с помощью команды list) main[1] list 1 public class Hello 2 < 3 public static void main(String[] args) 4 < 5 =>System.out.println("Да здравствует, Король Джулиан!"); 6 > 7 > (Для того чтобы продолжить выполнение программы, можно воспользоваться командой cont) main[1] cont > Да здравствует, Король Джулиан! The application exitedТаким образом, можно дебажить ваш код. Конечно, лучше и проще заниматься дебаггингом в IDE, но если что, теперь вы знаете, как это делать в терминале.