如何将war文件复制到多个文件夹?

时间:2016-01-25 10:40:06

标签: java maven

可以通过以下方式更改war文件放在mvn package上的目标构建路径:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <outputDirectory>my\target\folder</outputDirectory>
    </configuration>
</plugin>

问题:我如何在默认的/target文件夹中创建war文件,还可以在构建后将war文件复制到一个(或多个)其他目的地?

1 个答案:

答案 0 :(得分:2)

一种简单的方法是将maven-antrun-plugin的执行绑定到package阶段。优点是您不需要像mentioned in this answer那样重新执行maven-war-plugin

此执行会将主工件复制到文件夹/path/to/folder

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <version>1.8</version>
  <executions>
    <execution>
      <phase>package</phase>
      <configuration>
        <target>
          <copy file="${project.build.directory}/${project.build.finalName}.war"
                todir="/path/to/folder" />
        </target>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>

(此代码段必须放在<build><plugins>元素内)。

在Eclipse中运行mvn clean install(或“Run As ...&gt; Maven Install”),Maven会做你想要的。 ${project.build.directory}/${project.build.finalName}.war指的是构建目录中存在的主要WAR工件(默认为target)。