Добрый день.
Решил овладеть утилитами сборки проектов из консоли операционной системы.
Сам являюсь пользователем OS Ubuntu.
Собрал свой проект полностью из консоли OS.
Суть проекта:
консольное приложение на OpenJDK 14 делает следующее:
Мониторит папку с указанным интервалом времени и собирает пути файлов, после этого отдает результат задаче на конвертацию файлов с PDF в JPG.
Задача по конвертации файлов вычисляет региональные файлы по сумме SHA, после сего отфильтрованные файлы конвертируются в JPG по станично.
Структура проекта:
есть три скрипта по этапной сборке jar-файла:
compilation.sh - компиляция классов
build_art_jar.sh - сборка скомпилированных классов в jar-файл с внешними библиотеками
running.sh - вспомогательный скрипт для проверки запуска
папки:
bin - хранит откомпилированные классы и внешние подключаемые библиотеки
lib - хранит подключаемые библиотеки
src - исходный код
Но наткнулся на образовавшуюся проблему.
Суть проблемы:
В конечном собранном jar-файле есть включенные сторонние под лицензией Apache 2.0.
jar-файл содержит манифест с указанием главного класса и путей к добавленным в jar-файл библиотекам.
Когда я пытаюсь запустить jar-файл то запуск происходит, но не происходит не каких действий со стороны программы.
но стоит мне рядом с запускаемым jar-файлом положить папку с внешними библиотеками, которые участвуют в работе программы, начинается процесс сканирования и конвертации файлов.
Ссылка на проект: https://drive.google.com/file/d/1Fsmt5_KE_2J6TnJw-k-sLQjJ3WJ8qO0o/view?usp=sharing
Есть подозрения что я что то не так сделал при формирования файла manifest.mf
P.S. Пользоваться сборщиками проектов умею и можно не предлагать использовать их.
Я хочу разобраться как все именно работает "под капотом".
Дмитрий
29 уровень
Сборка jar-файла. Проблема с добавленными сторонними библиотеками
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей Java Developer в Сбер Expert
5 июня 2020, 20:00
Судя по описанию, у тебя что-то с путями к файлам не то. Если ты хочешь получить файл который находится внутри jar-ника, то нужно что-то типа
0
Сергей Java Developer в Сбер Expert
5 июня 2020, 19:53
Выложи на GitHub
+1
Влад Java Developer в Tinkoff
5 июня 2020, 19:46
Это вам лучше на StackOverFlow обратиться , там быстрее и подробнее объяснят .
0