Перейти к содержимому

Как создать jar файл

  • автор:

Как собрать jar

Написал небольшую програму для десктопа на TornadoFX . Не могу понять как сгенерить jar в IntellJ Idea . Пробовал стандартный способ с генерацией обычного jar -артифакта но они не запускаються( linux говорит что нет манифеста, хотя он был). Опыта с JavaFX и TornadoFX не имел ранее, поэтому прошу любой помощи.

Отслеживать
задан 8 фев 2019 в 12:01
1,360 1 1 золотой знак 9 9 серебряных знаков 21 21 бронзовый знак

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

В IntelIJ с помощью комбинации клавиш CTRL+ALT+SHIFT+S попадаем в структуру проекта. Заходим в пункт Artifacts Нажимаем на Add (зеленый плюс), выбираем JAR и пункт from modules with dependencies. В выплывающем окне выбираем главный класс. Жмем ОК, закрываем окно. Выскочит еще одно окно, в котором нажимаем Apply, закрываем это окно. Настройка закончена. Идем в пункт Build Выбираем Build Artifact, затем Build.

Исполняемый файл будет сгенерирован в директории out / Artifacts. Могут возникнуть проблемы если в проекте есть import какого-либо пакета. но этого импорта нет в classpath Если JAR не запускается, войдите в структуру проекта, пункт Modules -> Dependencies -> Add -> Project Libruary -> Attach JAR

Если вдруг Ваше приложение консольное, и Вы хотите запускать его не через консоль, нужно будет создать bat-файл в котором прописать следующую команду

java -jar filename.jar И запускать уже файл.bat.

Создание JAR-файла Java из файлов класса

Сведения о том, как упаковывать файлы класса в JAR-файл при использовании расширений языка SQL Server для выполнения кода Java. Рекомендуется упаковывать файлы.

Создание JAR-файла

Чтобы создать JAR-файл из файлов класса, перейдите в папку с файлом класса и выполните следующую команду:

jar -cf *.class 

Убедитесь, что путь к jar.exe включен в системную переменную PATH. Либо укажите полный путь к этому файлу, который расположен в подпапке /bin папки JDK. Пример:

C:\Users\MyUser\Desktop\jdk1.8.0_201\bin\jar -cf *.class 

Дальнейшие действия

JAR-Файлы

Для удобства распространения приложения, в Java существует такой механизм как JAR (Java Archive) файлы. JAR-файлы используются для архивации и сжатия данных.

Базовый формат команды для создания JAR-файла такой:

jar -cf jar-файл входной-файл(ы)

Сгерированный JAR-файл будет помещен в текущий каталог.

Рассмотрим ключи и аргументы, использованные в этой команде:

  • Ключ c показывает, что необходимо создать (create) JAR-файл.
  • Ключ f показывает, что необходимо направить вывод в файл, а не в стандартный поток вывода.
  • jar-файл — это имя, которое необходимо дать результирующему JAR-файлу. Вы можете использовать любое имя для JAR-файл. По соглашению, имени JAR-файла дается расширение .jar, хотя это и необязательно.
  • Аргумент входной-файл(ы) — список с разделителем пробелом из одного или более файлов, которые вы хотите поместить в ваш JAR-файл. Аргумент входной-файл(ы) может содержать также символ джокер *. Если любые из входных файлов являются каталогами, содержимое этих каталогов рекурсивно добавляется в архив JAR.

Правила относительно структуры JAR-файла.

  • Команда jar автоматически создаст META-INF каталог.
  • Команда jar автоматически создаст MANIFEST.MF и поместит его в META-INF каталог.
  • Сохраняется точная структура каталогов.
  • Команды java и javac могут использовать JAR-файл как нормальное дерево каталогов.
  • Поиск JAR-файлов с помощью ключа -cp аналогичен поиску пакетных файлов. Единственная разница — путь к JAR-файлу должен содержать имя JAR-файла (например classes/project1.jar).

Рассмотрим на примере как создаются и используются JAR файлы.

Допустим, что наше приложение имеет следующую структуру каталогов:

Структура каталогов фото

Создадим JAR-файл project1.jar, который будет содержать пакеты first и second :

cd project1/classes jar –cf project1.jar first second

Можем просмотреть содержимое project1.jar файла с помощью следующей команды:

jar -tf project1.jar

Результат выполнения будет приблизительно такой:

META-INF/ META-INF/MANIFEST.MF first/ first/Example1.class second/ second/Example2.class

Перенесем созданный project1.jar файл в каталог lib и запустим на выполнение программу first.Example :

cd lib java -cp project1.jar first.Example1

Презентацию с видео можно скачать на Patreon .

Сборка JAR-файлов в IntelliJ IDEA

В процессе работы с Java и средой разработки IntelliJ IDEA часто возникает необходимость создания JAR-файлов. Это архивные файлы, содержащие все компоненты вашего приложения, включая скомпилированные классы, ресурсы, манифест и дополнительные библиотеки.

Допустим, есть проект, состоящий из одного модуля и нескольких зависимостей. Предположим, что требуется создать JAR-файл, который будет содержать скомпилированный модуль, а также все зависимости. Однако при попытке собрать JAR-файл в IntelliJ IDEA, выходит так, что модуль оказывается пустым, кроме файла META-INF .

Сборка JAR в IntelliJ IDEA

Вот пошаговый процесс, описывающий, как можно правильно создать JAR-файл в IntelliJ IDEA:

Шаг 1: Создание артефакта

Для начала необходимо создать артефакт JAR в IntelliJ IDEA. Это можно сделать, перейдя в меню File > Project Structure > Artifacts . Затем следует нажать на плюс и выбрать «JAR» из выпадающего списка. Далее следует выбрать «From modules with dependencies».

Шаг 2: Указание модуля и пути к главному классу

После этого IntelliJ IDEA запросит модуль и путь к главному классу для вашего JAR-файла. Здесь следует выбрать модуль и указать путь к главному классу, который будет запущен при выполнении JAR-файла.

Шаг 3: Добавление зависимостей

Затем IntelliJ IDEA автоматически добавит все файлы и библиотеки, необходимые для работы вашего приложения, в JAR-файл. Если требуется добавить дополнительные библиотеки или файлы, их можно добавить вручную, перетащив в область артефакта.

Шаг 4: Сборка артефакта

После того, как все настроено, можно собрать артефакт, выбрав Build > Build Artifacts и выбрав ваш артефакт для сборки.

После выполнения этих шагов в указанном каталоге должен появиться JAR-файл, содержащий все необходимые для работы приложения файлы. Если при запуске полученного JAR-файла возникают проблемы, возможно, требуется проверить пути к библиотекам и классам в настройках артефакта.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *