RG: Как создать jar-файл со всеми зависимостями в Gradle?

Для того, чтобы создать jar-файл и чтобы он был автономным, то есть содержал в себе зависимости необходимые для его работы, нужно в ручную собрать все зависимости и для этого мы сделаем новую задачу. Добавим задачу в build.gradle.

  • task fatJar(type: Jar) – альтернативный способ создания задачи.
  • type: Jar – указывает тип задачи, которую мы создаем.
  • configurations.compile.collect – собираем необходимые зависимости отмеченные как compile
  • it.isDirectory() ? it : zipTree(it) – проверяем, если зависимость папка, то отправляем как есть, а если архив (jar), то извлекаем классы сохраняя структуру и отправляем. Далее они появятся в jar-файле.
  • with jar – вызываем задачу собрать jar-файл.

Вызываем задачу gradle fatJar.

Теперь запустим созданный jar.

Исходники можно найти тут.

К оглавлению

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

Ваш e-mail не будет опубликован.

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">