Добавил:
ИВТ (советую зайти в "Несортированное") Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
подгон 2018 (легендарный) / 3 курс -20241122T221211Z-001 / Java / Лабораторные / Основы Java. Лабораторная 1. Новая 0309.docx
Скачиваний:
2
Добавлен:
23.11.2024
Размер:
965.04 Кб
Скачать

Р ис.19. Содержимое папки проекта

Попробуем выполнить HelloMiet.class командой java HelloMiet. Наблюдаем ошибку — не найден класс. Это происходит потому, что файл находится в пакете (пространстве имен) hellomiet и должен быть выполнен с учетом пакета т.е. вот так java hellomiet.HelloMiet, при этом нужно находиться снаружи папки пакета. Перемещаемся в папку classes и выполняем java hellomiet.HelloMiet. Наблюдаем вывод HelloMiet в консоль (рис. 20.).

Рис. 20. Выполнение программы HelloMiet из консоли

Можно запустить программу на HelloMiet из любой папки диска, но для этого интерпретатору java нужно указать путь к папке в которой находится пакет (или пакеты) с откомпилированными файлами классов Java. Это делается с помощью ключа -classpath после которого пишется путь к папке, содержащей пакеты java. Например, запустить HelloMiet из корневой папки проекта можно командой: java -classpath build/classes hellomiet.HelloMiet (рис.20)

Рис.20. Запуск программы HelloMiet и з корневой папки проекта

Посмотреть все ключи и настройки интерпретатора java можно командой java -help

  1. Распространение программ на Java. Jar – архивы.

Сложные программы на Java могут содержать десятки пакетов и сотни классов как собственных, так и импортируемых. Таким образом, программа может быть зависима от импортируемых классов, которые могут находиться в разных папках на компьютере и даже подключаться по сети. Т.к. при компиляции в классы и передаче их потребителю нет гарантии, что у него на машине есть те-же библиотеки, что и у разработчика от которых зависит выполнение программы, то для распространения программ на java был придуман специальный вид архива — jar, а помещение в этот архив всего необходимого для запуска программы называется сборкой (build). Процесс сборки сложных приложений намного сложнее простой компиляции, поэтому его разумно поручить среде разработки.

Популярные IDE: IntellageID, NetBeance, Eclipse обладают инструментарием для сборки jar. Например, в NetBeance для выполнения сборки достаточно нажать правой клавишей мыши на названии проекта и в выпадающем меню выбрать «Собрать» (build). В результате будет создан архив jar в котором будут собраны все ресурсы, необходимые для автономного запуска приложения. Если операцию сборки выполнить для HelloMiet.java то NetBeance создаст папку dist в папке проекта и в ней файл HelloMiet.jar (рис. 21.).

Рис. 21. Сборка проекта в N etBeance

Исполняемые jar-архивы запускаются командой вида: java -jar [путь к файлу][имя jar-файла]. Поскольку все ресурсы собраны внутри jar-архива, то не требуется никаких указаний путей к классам и пакетам. Для программы HelloMiet в jar-архиве, запускаемой в командной строке из корневой папки проекта команда запуска будет иметь вид (рис. 22.):

java -jar dist/HelloMiet.jar

Рис. 22. Запуск исполняемого j ar-архива

Исполняемым называется jar-архив, который имеет внутри себя класс с методом main. Кроме исполняемых jar-архивов существуют еще библиотечные jar-архивы, которые предназначены для распространения библиотек классов.