Компиляция и запуск приложения из командной строки
1. Компиляция программ
Для компиляции программ из командной строки (консоли) используется команда javac.
Синтаксис javac:
javac [ключи] [исходники]
Чтобы получить список возможных ключей, выполните:
javac –help
Чтобы скомпилировать программу MyFirstApp
, запустите компилятор, указав имя исходного файла в командной строке следующим образом:
javac MyFirstApp.java
Компилятор javac создаст файл MyFirstApp.class
, содержащий версию байт-кода.
В процессе компиляции исходного кода каждый отдельный класс помещается в собственный выходной файл, называемый по имени класса и получающий расширение .class
.
2. Компиляция с помощью -d.
По умолчанию компилятор записывает сгенерированный .class
в тот же каталог, где находится исходный класс .java
. Это хорошо для маленьких проектов, но при работе на больших проектах файлы .java
и .class
должны храниться отдельно.
Ключ -d позволяет указать компилятору, куда записывать сгенерированные .class
файлы.
Например, у нас есть такая структура папок:
Следующая команда, выполненная из project1 папки сгенерирует файл
MyFirstApp.class
и запишет его в папку classes (предполагаем, что MyFirstApp
не содержит оператора package
):
cd project1
javac -d classes src/MyFirstApp.java
Теперь давайте рассмотрим пример компиляции класса com.company.lesson1.MyFirstApp
, находящегося в пакете com.company.lesson1
. Имеется такая структура каталогов:
Следующая команда, выполненная из src каталога, сгенерирует файл MyFirstApp.class
, и запишет его в каталог classes/com/company/lesson1:
cd myProject/src
javac -d ../classes com/company/lesson1/MyFirstApp.java
Если каталог classes/com/company/lesson1 не существует, то он будет создан при компиляции.
Если же не существует каталог classes, то вы получите ошибку компиляции.
3. Запуск программы с помощью команды java.
Чтобы выполнить программу из командной строки, следует воспользоваться загрузчиком приложений Jаvа, который называется java.
Синтаксис java:
java [ключи] класс [аргументы]
Для получения списка возможных ключей, выполните:
java –help
Чтобы выполнить программу, передадим имя класса MyFirstApp
(предполагаем, что MyFirstApp
не содержит оператора package
) в качестве аргумента командной строки:
java MyFirstApp
Если класс MyFirstApp
находится в пакете, то выполняем команду:
java com.company.lesson1.MyFirstApp
Стоит заметить, что при запуске программы указывается только один класс без расширения .class
.
4. Ключевые моменты
- В процессе компиляции исходного кода каждый отдельный класс помещается в собственный выходной файл, называемый по имени класса и получающий расширение
.class
. - По умолчанию компилятор записывает сгенерированный
.class
в тот же каталог, где находится исходный класс.java
. - Ключ
-d
указывает компилятору, куда записывать сгенерированные.class
файлы. - При компиляции могут быть созданы отсутствующие каталоги соответствующие пакету компилируемого класса.
- Если в ключе
-d
указан не существующий каталог, будет выброшена ошибка компиляции. - При запуске программы указывается только один класс без расширения
.class
. -d
может содержать относительные и абсолютные пути.
Презентацию с видео можно скачать на Patreon.
Please log in or register to have a possibility to add comment.