Как управлять файлом манифеста с помощью maven

У меня есть файл EAR, созданный с помощью maven. EAR содержит несколько банок, и мне нужно добавить строку в файл манифеста только для одной из этих банок. Я знаю вариант maven-jar-plugin (manifestEntries), но это хорошо для одного автономного jar-файла, а не для того, который находится внутри EAR.


person Tomer    schedule 22.05.2012    source источник


Ответы (2)


Если вы глубже изучите конфигурацию плагина maven-ear-plugin вы найдете часть конфигурации архива, которая как раз предназначена для таких целей.

Это можно добавить в конфигурацию maven-ear-plugin:

<archive>
  <addMavenDescriptor/>
  <compress/>
  <forced/>
  <index/>
  <manifest>
    <addClasspath/>
    <addDefaultImplementationEntries/>
    <addDefaultSpecificationEntries/>
    <addExtensions/>
    <classpathLayoutType/>
    <classpathMavenRepositoryLayout/>
    <classpathPrefix/>
    <customClasspathLayout/>
    <mainClass/>
    <packageName/>
  </manifest>
  <manifestEntries>
    <key>value</key>
  </manifestEntries>
  <manifestFile/>
  <manifestSections>
    <manifestSection>
      <name/>
      <manifestEntries>
        <key>value</key>
      </manifestEntries>
    <manifestSection/>
  </manifestSections>
  <pomPropertiesFile/>
</archive>

Что дает вам любую возможность, в которой вы нуждаетесь.

person khmarbaise    schedule 22.05.2012
comment
Если вы внимательно посмотрите на мой вопрос, вы увидите, что мне нужно отредактировать манифест одной конкретной jar-файла, вариант, который вы предложили, редактирует все файлы манифеста всех jar-файлов в EAR. - person Tomer; 22.05.2012
comment
Упс .. Значит ли это, что вам нравится манипулировать существующим JAR? Этот проект, который создает эту банку, у вас в руках? - person khmarbaise; 22.05.2012
comment
Затем вам нужно войти в этот проект и изменить конфигурацию для maven-jar-plugin так же, как я описал для maven-ear-plugin. - person khmarbaise; 23.05.2012
comment
У меня есть плагин maven jar, определенный в центральном файле pom, используемом другими проектами, если я помещаю его в pom конкретного проекта, который мне нужен, он работает, но упаковывает его как другую банку, а не как часть EAR. - person Tomer; 23.05.2012
comment
Развернули его и использовали в сборке ушей? - person khmarbaise; 23.05.2012

Думаю, вы можете посмотреть maven-shade-plugin и использовать _ 2_, чтобы изменить манифест для jar.

person maba    schedule 29.05.2012
comment
спасибо, но, как оказалось, в настоящее время он мне не нужен, но если он мне понадобится в будущем, я обязательно его проверю. - person Tomer; 30.05.2012