Как запустить java файл через командную строку windows 10

Содержание
  1. Как запустить java-приложение из командной строки?
  2. Запуск из командной строки.
  3. Как открыть Jar файл
  4. Проверка на наличие Java Runtime
  5. Как запустить Jar-файл в Windows 10
  6. Используем системное приложение «Параметры»
  7. Командная строка
  8. Устранение неисправностей
  9. Заключение
  10. Работа с Java в командной строке
  11. От простого к .
  12. Один файл
  13. Отделяем бинарные файлы от исходников
  14. Используем пакеты
  15. Если в программе несколько файлов
  16. Если удивляет результат
  17. Хорошо бы протестировать
  18. Создадим библиотеку
  19. Надо узнать, что у библиотеки внутри
  20. Лучше снабдить библиотеку документацией
  21. Можно подписать jar-архив
  22. Использование библиотеки
  23. Собираем программу
  24. Первый способ
  25. Второй способ
  26. Третий способ
  27. Запуск исполняемого jar-файла
  28. Как быть с приложениями JavaEE
  29. Компиляция и запуск приложения из командной строки
  30. 1. Компиляция программ
  31. 2. Компиляция с помощью -d.
  32. 3. Запуск программы с помощью команды java.

Как запустить java-приложение из командной строки?

Задача: Запуск приложения java из командной строки.

Для примера я наваял небольшую програмку, которая должна вычислять площадь круга по заданному радиусу. Программа содержит два класса: GeometryWF (главный) и Circle. Предполагается создать консольное приложение. Запуск приложения java должен производиться из командной строки.

package geometrywf;
public class GeometryWF <
public static void main(String[] args) <
try <
if (args[0].equals(«circle»)) <
Circle c = new Circle(Double.parseDouble(args[1]));
System.out.println(«Circle perimetre: «+c.perimeter());
System.out.println(«Circle aria: «+c.area());
>
>
catch(ArrayIndexOutOfBoundsException e) <
System.out.println(«Ошибочные входные параметры!»);
>
>
>

package geometrywf;
public class Circle <
public double r = 0;
public Circle(double r) <
this.r = r;
>
public double area() <
return(Math.PI*r*r);
>
public double perimeter() <
return(2*Math.PI*r);
>
>

Далее нужно собрать проект. Для разработки я использую NetBeans IDE. Соответственно сборку осуществляю нажатем сочетания «Shift+F11» («Очистить и собрать проект»). На выходе получаю готовый jar-файл
(C:\Users\Иван\Documents\NetBeansProjects\GeometryWF\dist\GeometryWF.jar).

Запуск из командной строки.

Прежде, чем запускать командную строку, кликаем правой кнопкой мыши по значку «Мой компьютер» и открываем «Свойства». Переходим в «Дополнительные параметы системы»->»Переменные среды». В разделе «Системные переменные» необходимо создать новую переменную «JAVA_HOME» со значением » » (у меня это «C:\glassfish3\jdk\bin»). Этот же путь нужно прописать в уе существующую переменную Path после точки с запятой. Все сохраняем и запускаем командную строку.

Меняем директорию на папку с jar-файлом при помощи команды CHDIR:

C:\Users\Иван>CHDIR C:\Users\Иван\Documents\NetBeansProjects\GeometryWF\dist\

Выполняем запуск приложения java из командной строки при помощи команды «java -jar .

C:\Users\Иван\Documents\NetBeansProjects\GeometryWF\dist>java -jar GeometryWF.jar circle 9

На выходе получаем:

Circle perimetre: 56.548667764616276
Circle square: 254.46900494077323

Как открыть Jar файл

Java-приложения в свое время были довольно распространенными на Windows-платформе. Это были не самые лучшие приложения, так как они были тяжелыми для системы, но альтернатив было не так уж и много. Приложения на основе Java все еще встречаются, хотя и не в таком количестве, как раньше. Одним из самых популярных сегодня является платформер Minecraft.

При наличии у вас Jar-файла, а это, в принципе, файл Java, вам нужна среда выполнения, чтобы запустить его. Java используется множеством различных приложений, однако это вовсе не значит, что вы всегда будете запускать JAR-файлы. Возможно, вы все еще откроете файл в формате EXE с ними. Тем не менее, вы все еще можете найти исключительно Java-файл.

При работе с таким файлом вы можете обнаружить его расширение JAR, либо JRE. Оба могут быть запущены одинаковым образом, но вам придется установить среду выполнения для своей операционной системы Windows 10. Также возможно, что она уже была установлена вами ранее.

Проверка на наличие Java Runtime

Откройте Командную строку (щелчок правой кнопки мыши на кнопке Пуск и выбор соответствующего пункта меню). Выполните следующую команду java -version и нажмите клавишу ввода. Если команда возвращает информацию о версиях пакета, среди выполнения и клиента, то все в порядке.

Читайте также:  Плей маркет для компьютера windows

В противном случае — требуемых компонентов не установлено в системе.

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

После того, как определились, есть ли (или нет) в вашей операционной системе Java, можно приступать к открытию файла. Первый шаг — установка среды выполнения.

Посетите официальный сайт по адресу https://java.com/ru/download/ и загрузите пакет установки на свой ПК.

Запустите на выполнение скачанный исполняемый файл, который установит среду. По окончании выполнения процесса вы будете оповещены соответствующим образом. Для проверки корректности инсталляции повторно выполните выше обозначенную команду в Командной строке.

Все значки сопоставимых файлов будут изменены в соответствии с их приложением. Щелкните дважды по Jar-файлу, чем откроете его. Если не получается — сделайте следующее:

  • кликните правой кнопкой мыши по файлу и выберите в контекстном меню пункт «Открыть с помощью…»$
  • отметьте Java(TM) Platform SE binary и установите флажок для использования этого приложения всегда;
  • значок будет обновлен и можно открыть файл двойным щелчком кнопки мыши.

Используем системное приложение «Параметры»

Выше обозначенная опция контекстного меню иногда не связывает файлы с приложениями по умолчанию. Если это ваш случай — попробуйте следующее решение:

  • запустите приложение «Параметры» (Win+I);
  • перейдите в категорию «Приложения»;
  • выберите вкладку «Приложения по умолчанию»;
  • справа ниже нажмите на ссылку «Выбор стандартных приложений для типов файлов»;
  • прокрутите список расширений и выберите расширение «.jar»;
  • в открывшемся окне сопоставьте его с Java(TM) Platform SE binary.

Командная строка

Jar-файлы можно открыть в Командной строке. Запустите её (можно без права администратора). Введите полный путь к файлу, который хотите запустить java -jar «полный_путь_к_файлу» и подтвердите выполнение вводом клавиши Enter.

Устранение неисправностей

Долгое уже время существует Java и регулярно поддерживается по сей день, но все еще не избавлена от всех проблем. Соответственно, вы можете столкнуться с некоторыми и у себя. Убедитесь что среде выполнения разрешено запускать файлы в вашей операционной системе. Защитник Windows может блокировать её работу.

Также проверьте версию среды, потому что иногда присутствует несовместимость файлов с устаревшей и новой. Понизьте или повысьте её до нужной версии. Иногда скачиваемые с Интернета Jar-файлы упакованы в архив. Соответственно, необходимо выполнить их извлечение перед запуском.

Заключение

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

Работа с Java в командной строке

От простого к .

Каждая программа обычно содержится в отдельном каталоге. Я придерживаюсь правила создавать в этом каталоге по крайней мере две папки: src и bin. В первой содержатся исходные коды, во второй — результат компиляции. В данных папках будет структура каталогов, зависящая от пакетов.

Один файл

Можно сделать и без лишних папок.
Берем сам файл HelloWorld.java.
Переходим в каталог, где лежит данный файл, и выполняем команды.
В данной папке появится файл HelloWorld.class. Значит программа скомпилирована. Чтобы запустить

Отделяем бинарные файлы от исходников

Теперь сделаем тоже самое, но с каталогами. Создадим каталог HelloWorld и в нем две папки src и bin.
Компилируем
Здесь мы указали, что бинарные файлы будут сохраняться в отдельную папку bin и не путаться с исходниками.

Используем пакеты

А то, вдруг, программа перестанет быть просто HelloWorld-ом. Пакетам лучше давать понятное и уникальное имя. Это позволит добавить данную программу в другой проект без конфликта имен. Прочитав некоторые статьи, можно подумать, что для имени пакета обязательно нужен домен. Это не так. Домены — это удобный способ добиться уникальности. Если своего домена нет, воспользуйтесь аккаунтом на сайте (например, ru.habrahabr.mylogin). Он будет уникальным. Учтите, что имена пакетов должны быть в нижнем регистре. И избегайте использования спецсимволов. Проблемы возникают из-за разных платформ и файловых систем.

Читайте также:  Драйвера для звуковой карты via vt1723 драйвер windows

Поместим наш класс в пакет с именем com.qwertovsky.helloworld. Для этого добавим в начало файла строчку
В каталоге src создадим дополнительные каталоги, чтобы путь к файлу выглядел так: src/com/qwertovsky/helloworld/HelloWorld.java.
Компилируем
В каталоге bin автоматически создастся структура каталогов как и в src.

Если в программе несколько файлов

HelloWorld.java
Calculator.java
Adder.java

Ошибка возникла из-за того, что для компиляции нужны файлы с исходными кодами классов, которые используются (класс Calculator). Надо указать компилятору каталог с файлами с помощью ключа -sourcepath.
Компилируем

Если удивляет результат

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

Отладчик запускает свой внутренний терминал для ввода команд. Справку по последним можно вывести с помощью команды help.
Указываем точку прерывания на 9 строке в классе Calculator

Запускаем на выполнение.

Чтобы соориентироваться можно вывести кусок исходного кода, где в данный момент находится курссор.

Узнаем, что из себя представляет переменная а.

Выполним код в текущей строке и увидим, что sum стала равняться 2.

Поднимемся из класса Adder в вызвавший его класс Calculator.

Удаляем точку прерывания

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

Проверяем значение выражения и завершаем выполнение.

Хорошо бы протестировать

Запускаем. В качестве разделителя нескольких путей в classpath в Windows используется ‘;’, в Linux — ‘:’. В консоли Cygwin не работают оба разделителя. Возможно, должен работать ‘;’, но он воспринимается как разделитель команд.

Создадим библиотеку

Класс Calculator оказался полезным и может быть использован во многих проектах. Перенесем всё, что касается класса Calculator в отдельный проект.

Измените также назавания пакетов в исходных текстах. В HelloWorld.java нужно будет добавить строку

Делаем архив jar

С помощью ключа -C мы запустили программу в каталоге bin.

Надо узнать, что у библиотеки внутри

Можно распаковать архив zip-распаковщиком и посмотреть, какие классы есть в библиотеке.
Информацию о любом классе можно получить с помощью дизассемблера javap.

Из результата видно, что класс содержит кроме пустого конструктора, ещё один метод sum, внутри которого в цикле вызывается метод add класса Adder. По завершении метода sum, вызывается Adder.getSum().
Без ключа -c программа выдаст только список переменных и методов (если использовать -private, то всех).

Лучше снабдить библиотеку документацией

Изменим для этого класс калькулятора.

Документацию можно создать следующей командой. При ошибке программа выдаст список возможных опций.

В результате получиться следующее

Можно подписать jar-архив

Если требуется подписать свою библиотеку цифровой подписью, на помощь придут keytool и jarsigner.
Генерируем подпись.

Генерируем Certificate Signing Request (CSR)

Содержимое полученного файла отправляем в центр сертификации. От центра сертификации получаем сертификат. Сохраняем его в файле (например, qwertokey.cer) и импортируем в хранилище

Файл qwertokey.cer отправляем всем, кто хочет проверить архив. Проверяется он так

Использование библиотеки

Есть программа HelloWorld, которая использует библиотечный класс Calculator. Чтобы скомпилировать и запустить программу, нужно присоединить библиотеку.
Компилируем

Собираем программу

Это можно сделать по-разному.

Первый способ

Здесь есть тонкости.
В строке

Читайте также:  Передавать по блютуз windows phone

не должно быть пробелов в конце.
Вторая тонкость описана в [3]: в этой же строке должен стоять перенос на следующую строку. Это если манифест помещается в архив сторонним архиватором.
Программа jar не включит в манифест последнюю строку из манифеста, если в конце не стоит перенос строки.
Ещё момент: в манифесте не должно быть пустых строк между строками. Будет выдана ошибка «java.io.IOException: invalid manifest format».

При использовании команды echo надо следить только за пробелом в конце строки с main-class.

Второй способ

В данном способе избегаем ошибки с пробелом в main-class.

Третий способ

Включили код нужной библиотеки в исполняемый файл.

Запуск исполняемого jar-файла

Файл calculator.jar исполняемым не является. А вот helloworld.jar можно запустить.
Если архив был создан первыми двумя способами, то рядом с ним в одном каталоге должна находится папка lib с файлом calculator.jar. Такие ограничения из-за того, что в манифесте в class-path указан путь относительно исполняемого файла.

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

Как быть с приложениями JavaEE

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

Структура архива JavaEE-приложения должна соответствовать определенному формату. Например

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

Надеюсь, данная статья станет для кого-нибудь шпаргалкой для работы с Java в командной строке. Данные навыки помогут понять содержание и смысл Ant-скриптов и ответить на собеседовании на более каверзные вопросы, чем «Какая IDE Вам больше нравится?».

Компиляция и запуск приложения из командной строки

1. Компиляция программ

Для компиляции программ из командной строки используется команда javac.

Чтобы получить список возможных ключей, выполните:

Чтобы скомпилировать программу MyFirstApp , запустите компилятор, указав имя исходного файла в командной строке следующим образом:

Компилятор javac создаст файл MyFirstApp.class , содержащий версию байт-кода.

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

2. Компиляция с помощью -d.

По умолчанию компилятор записывает сгенерированный .class в тот же каталог, где находится исходный класс .java . Это хорошо для маленьких проектов, но при работе на больших проектах файлы .java и .class должны храниться отдельно.

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

Например, у нас есть такая структура папок:

Следующая команда, выполненная из project1 папки сгенерирует файл MyFirstApp.class и запишет его в папку classes (предполагаем, что MyFirstApp не содержит оператора package ):

Теперь давайте рассмотрим пример компиляции класса com.company.lesson1.MyFirstApp , находящегося в пакете com.company.lesson1 . Имеется такая структура каталогов:

Следующая команда, выполненная из src каталога, сгенерирует файл MyFirstApp.class , и запишет его в каталог classes/com/company/lesson1:

Если каталог classes/com/company/lesson1 не существует, то он будет создан при компиляции.

Если же не существует каталог classes, то вы получите ошибку компиляции.

3. Запуск программы с помощью команды java.

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

Для получения списка возможных ключей, выполните:

Чтобы выполнить программу, передадим имя класса MyFirstApp (предполагаем, что MyFirstApp не содержит оператора package ) в качестве аргумента командной строки:

Если класс MyFirstApp находится в пакете, то выполняем команду:

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

Оцените статью