<<Предыдущий урок   Список уроков   Следующий урок>>

Компиляция и выполнение 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.

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

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

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

Аргументы

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

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

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

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

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

Упражнение

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


<<Предыдущий урок   Список уроков   Следующий урок>>

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

  1. Странно у меня все установлено, но проблема возникает:
    при запуске в командной строке >javac Main.java
    ответ системы:
    «javac» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

    • Вам нужно попасть на доп. настройки системы:
      ПКМ по «Мой Компьютер» — «Свойства», дальше «Дополнительные параметры системы» (в 7-ке это — нижняя кнопка в левой панели экрана)).

      Вкладка «Дополнительно» — «Переменные среды…» (внизу вкладки).

      В списке переменных добавляете переменную PATH и указываете путь к папке bin внутри папки jdk.
      Например, вот так: C:\Program Files\Java\jdk1.8.0_151\bin

      Перезапускаете консоль — всё работает.

  2. Для того, чтобы работать из консоли ну нужно изменить переменную окружения path. В этой переменной хранятся пути записанные через точку с запятой, в которых оболочка(консоль) будет искать исполняемые файлы(*exe, *.bat, и другие). Допишите в эту переменную ;C:Program FilesJavajdk1.6.0_17bin.

  3. Решение проблемы с «javac/java не является внутренней или внешней командой, исполняемой программой или пакетным файлом»:

    «Панель управления» > «Система и безопасность» > «Система»

    Далее в левой части окна «Дополнительные параметры системы» > вкладка «Дополнительно», внизу окна «Переменные среды».

    В части «Системные переменные» ищем переменную «Path», выделяем её и кликаем по «Изменить…».

    В открывшемся окне «Создать» и указываем путь к директории bin из JDK (по умолчанию: C:\Program Files\Java\jdk1.8.0_92\bin)

    После кликаем по всем кнопками «OK». После этой операции командная строка будет понимать где находятся исполняемые файлы JDK.

  4. Добрый день.
    У меня проблема такая:
    пользуюсь Андроид Студио, создала класс с выводом строки. В командной строке скомпилировала программу (javac Main.java), после чего файл класса появился. Теперь пробую запустить программу, но выходит ошибка «Error: Could not find or load main class Main». После поиска решения проблемы нашла пример создания программы в блокноте. Создала по примеру — программа запускается, а моя, созданная в Андроид студии — нет. Потом открыла свой java файл в блокноте, удалила строку с описанием пакета «package com.example.name.f123;» — только тогда запустилось.
    Получается, что созданные в студии классы не запустить из командной строки? Может, надо сделать какие-нибудь настройки в самой студии, чтобы не править постоянно файлы класса?

  5. код из примера один компилируется след. образом:

    //
    // Source code recreated from a .class file by IntelliJ IDEA
    // (powered by Fernflower decompiler)
    //

    public class Main {
    public Main() {
    }

    public static void Main(String[] var0) {
    System.out.println(«Hello, World!»);
    }
    }

    команда java main выдает ошибку

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