Maven: создать МАНИФЕСТ в произвольном месте

Я пытаюсь получить название и версию реализации для модуля maven jar. Если я использую Myclass.class.getPackage().getImplementationVersion() для встроенного jar, он работает, но то же самое не работает в среде отладки, где jar не создается, но доступны классы.

Мне известно об использовании плагина Maven JAR для создания МАНИФЕСТА для модуля maven jar. Поэтому один подход, который я рассматриваю, состоит в том, чтобы каким-то образом создать копию МАНИФЕСТА в выходной папке сгенерированных источников, которую я включаю в свой путь к классам отладки. Для достижения этой цели:

  1. Можно ли создать файл МАНИФЕСТА в произвольном месте? Если да, то какой плагин и конфигурация исполнения необходимы?
  2. Если нет, то в каком месте создается файл, поэтому я могу скопировать его в свое собственное местоположение с помощью плагина maven-resources?

person Neel    schedule 17.03.2016    source источник


Ответы (1)


Файл манифеста создается динамически при сборке архива. Нет способа сделать это по умолчанию. Самое простое, что я бы придумал, это поместить MANIFEST.MF в каталог ресурсов, позволить Maven фильтровать его и добавить каталог с профилем. Это будет имитировать способ, которым Maven Archiver создает ваш файл MANIFEST.MF. Трудным способом было бы создать собственный плагин вокруг Maven Archiver и передать ту же конфигурацию, что и плагину JAR, и снова включить его с профилем.

person Michael-O    schedule 17.03.2016