2012-01-19 14 views
9

Sto tentando di scaricare tomcat zip artefatto e decomprimerlo in una cartella denominata tomcat. Quello che ottengo è tomcat/apache-tomcat-7.0.19/ Come posso eliminare la fastidiosa directory intermedia?Maven: decomprimere l'artefile zip in un nome di cartella SPECIFICO

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
<version>2.4</version> 
<executions> 
    <execution> 
     <id>unpack-tomcat</id> 
     <phase>process-sources</phase> 
     <goals> 
      <goal>unpack</goal> 
     </goals> 
     <configuration> 
      <artifactItems> 
       <artifactItem> 
        <groupId>org.apache</groupId> 
        <artifactId>tomcat</artifactId> 
        <version>7.0.19-win64</version> 
        <type>zip</type> 
        <overWrite>false</overWrite> 
        <outputDirectory>tomcat</outputDirectory> 
        <excludes>webapps/**</excludes> 
       </artifactItem> 
      </artifactItems>        
     </configuration> 
    </execution> 
</executions> 
</plugin> 

risposta

-2

Usa unpack-depencencies obiettivo e impostare useSubDirectoryPerArtifact su false.

+0

Non riesco a farlo funzionare. Ora mi porta tutte le dipendenze che ho ottenuto e non filtra solo Tomcat. – archmisha

+0

Sotto la sezione di configurazione della dichiarazione del plugin nel tuo pom aggiungere tomcat BenjaminLinus

+0

Ho postato l'intero codice del plugin pom. Funziona ancora per me. Basta creare la dir annidata – archmisha

5

Forse c'è altro modo "mavenish" per raggiungere la mia proposta :) ancora usando Maven plug-formica potrebbe essere una soluzione per la situazione:

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
     <version>1.7</version> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <configuration> 
          <target> 
           <move file = "tomcat/apache-tomcat-7.0.19/*" 
             tofile = "tomcat" /> 
          </target> 
         </configuration> 
         <goals> 
          <goal>run</goal> 
         </goals> 
        </execution> 
        <execution> 
         <phase>package</phase> 
         <configuration> 
          <target> 
           <delete dir = "tomcat/apache-tomcat-7.0.19"/> 
          </target> 
         </configuration> 
         <goals> 
          <goal>run</goal> 
         </goals> 
        </execution> 
       </executions> 
</plugin> 
2

Maven decomprimere con percorso pianeggiante

http://pulkitsinghal.blogspot.com/2011/04/jetspeed-finally-unpack-plugin-with.html :

Non c'è assolutamente alcun modo (noto a me per questo post di blog) per ottenere questo maven plugi n per sputare una struttura piatta.

Quindi una buona alternativa è quella di utilizzare il jetspeed-unpack-maven-plugin che consente agli utenti di specificare <flat>true</flat> come parte del configuration al fine di ottenere il file desiderato senza l'onere di avere il percorso relativo dalla radice del manufatto in dotazione come bene.

I documenti affermano che questo plug-in è anche in grado di decomprimere il percorso relativo arbitrario all'interno di artefatto zippato in una specifica cartella di destinazione.

Problemi correlati