2012-05-22 2 views
2

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

ответ

4

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

Это может быть добавлен к конфигурации Maven-уха-плагин:

<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> 

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

+0

Если вы внимательно посмотрите на мой вопрос, вы увидите, что мне нужно отредактировать манифест одной конкретной банки, а вариант, который вы предложили, редактирует все файлы манифеста всех банок в EAR. – Tomer

+0

Oups .. Означает ли это, что вы хотите манипулировать существующим JAR? Этот проект создает эту банку в ваших руках? – khmarbaise

+0

У меня есть исходный код. – Tomer

1

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

+0

спасибо, но, как оказалось, мне это в настоящее время не нужно, но если мне это понадобится в будущем, я обязательно проверю это. – Tomer

Смежные вопросы