LINUX.ORG.RU

Заставить maven-jar-plugin добавлять нужный манифест в jar-файл

 ,


0

1

Однако, здраствуйте.

Имеется неприятная проблема, а именно - Maven (а точнее - jar-plugin) ни в какую не желает генерировать правильный манифест для jar-файла. Вот полный pom.xml: https://pastebin.com/EhUsvAsA

И pom.properties:

#Created by Apache Maven 3.6.0
groupId=org.app
artifactId=app
version=0.1.0

Что характерно, сам jar при указании опций -ср и конкретного класса прекрасно запускается, что наводит на нехорошие мысли о качестве самого Maven.

Приветствую любые идеи, вплоть до записи в shell-скрипт кода запуска через -ср (хотя «починить» jar-plugin было бы предпочтительней, да и тема ведь об этом). Заранее спасибо.

Update: в поле mainClass ошибка в названии файла класса. Игнорируйте её, это я случайно ввёл перед копированием на Pastebin.

Korchevatel ★★★★★
() автор топика

Так а что генерирует в итоге? Не смотрел? На мавен не греши, он не идеальный, но такие вещи в нём работают нормально.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от Legioner

В плане файлов? Конкретно в моём случае генерирует все class-файлы, jar-файл, папку dependency с (сюрприз!) зависимостями (сиречь jar-ки нужных библиотек). Плюс вышеупомянутый pom.properties, папки maven-status и surefire-reports.

Если вы о программе, то она получилась вполне рабочая (разве что запускать надо с заковырками "-ср" и ":папка с зависимостями/*").

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от Korchevatel

Я про MANIFEST.MF который тебе, как я понимаю, не нравится. Открой jar-файл любым zip-архиватором и посмотри в META-INF/MANIFEST.MF

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Открыл. Посмотрел - и вправду, всё записано. И Class-Path, и Main-Class (мой косяк, надо было сразу так сделать).

Но тогда появляется резонный вопрос: почему сам MANIFEST.MF игнорируется и мне приходится запускать файл исключительно так, как будто никакого файла манифеста и не существует? Более того, приходится явно указывать путь к библиотекам.

Korchevatel ★★★★★
() автор топика

Update: проблема оказалась в команде: я попросту забывал добавить -jar при простом запуске, ох еловая моя голова...

Проблема решена, товарищ Legioner, спасибо за помощь.

Korchevatel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.