2010-08-06 16 views

回答

27

這樣做將使用maven-resources-plugin

copy-resources目標的Maven的方式,從http://maven.apache.org/plugins/maven-resources-plugin/examples/copy-resources.html

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>2.7</version> 
     <executions> 
      <execution> 
      <id>copy-resources</id> 
      <!-- here the phase you need --> 
      <phase>validate</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${basedir}/target/extra-resources</outputDirectory> 
       <resources>   
       <resource> 
        <directory>src/non-packaged-resources</directory> 
        <filtering>true</filtering> 
       </resource> 
       </resources>    
      </configuration>    
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    ... 
    </build> 
    ... 
</project> 
+2

在使用'ant-run'插件之前,我更喜歡此解決方案。 – codevour 2010-08-06 12:44:39

+1

使用maven資源插件有什麼好處嗎?我更喜歡用ant運行插件來做這件事,因爲它允許你處理單個文件並對它們進行重命名,並且它稍微短一點 - 儘管它仍然有很多xml來簡單地複製文件... – mort 2010-08-06 12:45:33

+0

@mort - 沒有特別的好處。但是我的*個人*偏好是在可用的位置使用Maven插件而不是antrun。 – JoseK 2010-08-06 12:52:39

20

看看maven-antrun插件。您可以在任何行家階段複製文件是這樣的:

<plugin> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <version>1.4</version> 
     <executions> 
     <execution> 
      <id>copy</id> 
      <phase>compile</phase> 
      <configuration> 
      <tasks> 
       <copy file="myFileSource" tofile="MyFileDest"/> 
      </tasks> 
      </configuration> 
      <goals> 
      <goal>run</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
+1

簡單又甜蜜 - 謝謝。 – vikingsteve 2013-10-13 09:23:03

+0

感謝您的解決方案。我想要那個。 – 2016-02-12 06:36:01

+0

@BabannaDuggani請注意,''節點在maven-antun-plugin 1.5+中已棄用。請參閱此處的替代方法:http://stackoverflow.com/a/35397606/363573 – Stephan 2017-04-20 15:11:17

3

類似的解決方案@mort's onemaven-antrun-plugin 1.8

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.8</version> 
    <executions> 
    <execution> 
     <id>copy</id> 
     <phase>compile</phase> 
     <configuration> 
     <target> 
      <copy file="sourceFile" tofile="targetFile"/> 
     </target> 
     </configuration> 
     <goals> 
     <goal>run</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

注意<tasks>節點以有利於棄用<target>節點的作爲行家-antrun-插件1.5

相關問題