Как запустить 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" со значением "<полный путь к папке bin установленного JDK>" (у меня это "C:\glassfish3\jdk\bin"). Этот же путь нужно прописать в уе существующую переменную Path после точки с запятой. Все сохраняем и запускаем командную строку.
Меняем директорию на папку с jar-файлом при помощи команды CHDIR:
C:\Users\Иван>CHDIR C:\Users\Иван\Documents\NetBeansProjects\GeometryWF\dist\
Выполняем запуск приложения java из командной строки при помощи команды "java -jar <название jar-файла> <входные параметры>.
C:\Users\Иван\Documents\NetBeansProjects\GeometryWF\dist>java -jar GeometryWF.jar circle 9
На выходе получаем:
Circle perimetre: 56.548667764616276
Circle square: 254.46900494077323