2015-02-23 88 views
1

我在我的文件夾中有多個zip文件。我想解壓所有這些文件並將其放入目標文件夾。我想避免在我的pom.xml文件中指定每個zip文件。請檢查我寫的插件。沒有更好的解決方案接受* .zip文件嗎?非常感謝。Maven如何在同一目錄下解壓多個文件?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
     <execution> 
      <id>prepare</id> 
      <phase>validate</phase> 
      <configuration> 
       <tasks> 
        <unzip src="${user.home}/${dasmo.storage}/calendar-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/controls-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/devices-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/events-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/logs-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/places-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/provisioning-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/recordings-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/scripts-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/smartcontrols-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/storage-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/system-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/webrtc-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 

        <!-- 
        <unzip src="${user.home}/${dasmo.storage}/calendar-persistence.zip" dest="${user.home}/${dasmo.storage}/" /> 

        <copy file="${basedir}/../gwr-devices-module/${config.location}" todir="${project.build.directory}/${dasmo.storage}/devices/" /> 
        <copy file="${basedir}/../gwr-logs-module/${config.location}" todir="${project.build.directory}/${dasmo.storage}/logs/" /> 

        <copy file="${basedir}/../gwr-logs-module/src/main/resources/*.zip" todir="${user.home}/${dasmo.storage}/" /> 
        <unzip src="${user.home}/${dasmo.storage}/*.zip" dest="${user.home}/${dasmo.storage}/" /> 
        --> 
       </tasks> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

回答

-1

例子:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.codehaus.gmavenplus</groupId> 
     <artifactId>gmavenplus-plugin</artifactId> 
     <version>1.5</version> 
     <executions> 
     <execution> 
      <id>unzip-files-in-folder</id> 
      <phase>process-resources</phase> 
      <goals> 
      <goal>execute</goal> 
      </goals> 
      <configuration> 
      <scripts> 
       <script> 
       // ... your unzip code goes here ... 
       </script> 
      </scripts> 
      </configuration> 
     </execution> 
     </executions> 

     <dependencies> 
     <dependency> 
      <groupId>org.codehaus.groovy</groupId> 
      <artifactId>groovy-all</artifactId> 
      <version>2.4.3</version> 
      <scope>runtime</scope> 
     </dependency> 
     </dependencies> 
    </plugin> 
    </plugins> 
</build> 
+0

雖然此鏈接可以回答這個問題,最好是在這裏有答案的主要部件,並提供鏈接以供參考。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – LittleBobbyTables 2015-06-07 01:49:13

+0

@LittleBobbyTables AFAIK SO不是爲了向代理人提供任何代碼。不要給OP提供一個關鍵的提示,從哪裏開始,他已經不刪除這個答案。最有可能的是,SO和Java Tutorials鏈接不會改變。但是,我添加了一些示例代碼以符合您的意願。 – 2015-06-07 08:35:54

相關問題