2010-08-06 5 views

답변

27

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

+1

Maven 리소스 플러그인을 사용하면 어떤 이점이 있습니까? 나는 당신이 하나의 파일을 다루고 그것들의 이름을 바꾸는 것을 허용하고 좀 더 짧기 때문에 ant-run 플러그인으로 이것을하는 것을 선호한다 - 비록 파일을 단순히 복사하기 위해 많은 xml을 쓸지라도 ... – mort

+0

@mort - 특별한 이점은 없습니다. 하지만 제 개인적인 취향은 Antven보다는 Maven 플러그인을 사용하는 것입니다. – JoseK

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

+0

솔루션을 제공해 주셔서 감사합니다. 나는 그걸 정확히 원했다. –

+0

@BabannaDuggani maven-antun-plugin 1.5+에서는 ''노드가 사용되지 않습니다. http://stackoverflow.com/a/35397606/363573 – Stephan

3

유사한 솔루션에서이 maven-resources-plugin

copy-resources 목표를 사용하는 것하고의 메이븐 방법 @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> 

노드는 <target> 노드가 maven-antrun-plugin 1.5이므로 더 이상 사용되지 않습니다.