Итак, программа написана, работает. Не очень удобно распространять свою программу ввиде кучи файлов(средний проект состоит из 10-100 классов). Не говоря уже о всевозможных ресурсах(картинки, xml и т.п.). В состав JDK входит утилита jar - упаковщик java-классов в один архивный файл. Возьмем программу из предыдущего примера:
jar -ec utils.app * > app.jar
Здесь используется два ключа: e - задать класс с main-функцией, c - создать архив. * таким образом со стандартного вывода результат работы утилиты будет записан в файл app.jar. По структуре это обычный zip-файл. Так что, в крайнем случае это можно сделать и без утилиты jar. Запустить программу из jar-файла можно двумя способами.
Первый работает, если как в этой статье была указана entry-point(точка входа в программу):
java -jar app.jar.
Второй универсальный(в том смысле что каждый класс в пакете может
содержать main-функцию, поэтому можно по разному запустить программу, в первом случае мы всегда начинаем выполнение программы из одной функции)
java -cp app.jar utils.app
просто добавляем jar-файл в переменную classpath(пути по которым загручик классов java class loader ищет нужные классы) и опять указываем путь к точке входа.
Комментариев нет:
Отправить комментарий