2012-06-14 21 views
5

Tengo un proyecto maba3 webapp (war) que tiene 2 dependencias. Uno es un jar (ehcache) y el otro una dependencia de guerra (una lib de terceros que no tengo control).Cómo eliminar el archivo .jar de una guerra que está superpuesta por la dependencia de maven

La dependencia de guerra de terceros tiene una dependencia de la versión anterior de ehcache que está en conflicto con la versión posterior que necesito usar.

Los siguientes pasos ocurren durante un paquete de mi aplicación.

  1. Mi tarro ehcache se copia a/WEB-INF/lib/
  2. La dependencia .war que también incluye ehcache se construye y se superpone en la parte superior de mi objetivo
  3. archivo .war final se crea a partir de destino

No importa lo que haga, la guerra siempre incluye la versión anterior de ehcache. Incluso he intentado escribir un script ant que ejecuto a través de maven-antrun-plugin que elimina el archivo .jar del directorio de destino. Sin embargo, esto siempre se hace antes de que la dependencia .war se superponga.

¿Alguien sabe cómo puedo excluir/eliminar la versión anterior de ehcache?

+0

Usted tiene una dependencia en una guerra? ¿Tienes una construcción de múltiples módulos? – khmarbaise

Respuesta

8

Probablemente necesite excluir el jar ehcache por nombre de archivo de su superposición. Si todavía no está declarando una superposición explícita para su guerra dependiente, que tendrá que hacer eso también en la configuración del plug-in de guerra:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.2</version> 
     <configuration> 
     <overlays> 
      <overlay> 
      <groupId>your.thirdparty.war.groupId</groupId> 
      <artifactId>your.thirdparty.war.artifactId</artifactId> 
      <excludes> 
       <exclude>WEB-INF/lib/ehcache*.jar</exclude> 
      </excludes> 
      </overlay> 
     </overlays> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 
+0

Gracias, esto hace exactamente lo que necesitaba. – Joel

Cuestiones relacionadas