2013-04-17 2 views
2

Я хотел бы добавить пользовательскую пару ключ/значение в MANIFEST.MF нескольких существующих файлов jar в моем военном проекте (эти банки не зависят от проекта).пакетное обновление manifest.mf для существующих банок с использованием maven

Я уже могу упаковать/переупаковать эти банки, используя муравьиную задачу.

Я прочитал о «манифестной» задаче, как я могу применить эту задачу к набору файлов (если есть способ)? Заранее спасибо.

ответ

3

Это мой первый ответ в StackOverflow. Надеюсь, что он вам подходит :)

Я сделал это так:

<target name="xxx.modifyManifests"> 
    <echo message="Modifying jar manifests to add trusted-library" /> 
    <apply executable="jar"> 
     <arg value="umf" /> 
     <arg line="${xxx.resources}/manifest/custom_manifest.mf" /> 
     <srcfile /> 
     <fileset dir="${xxx.target}/applets" includes="*.jar" /> 
    </apply> 
</target> 

вызов является простым использованием Maven-antrun-плагин:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>xxx.modifyManifests</id> 
      <phase>compile</phase> 
      <configuration> 
       <target> 
        <property environment="windows" /> 
        <property name="xxx.resources" 
         value="${project.build.directory}/../src/main/resources" /> 
        <property name="xxx.target" 
         value="${project.build.directory}/${project.artifactId}-${project.version}" /> 
        <ant antfile="${basedir}/build.xml"> 
         <target name="xxx.modifyManifests" /> 
        </ant> 
       </target> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

И мой custom_manifest.mf вот так:

Trusted-Only: true 
Trusted-Library: true 
+0

Большое спасибо коллеге! С вашей помощью у моего военного проекта теперь есть апплет с pack.gz + подписанными + надежными зависимостями! : D – Gabriel

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