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

mem*_*und 5 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>
Run Code Online (Sandbox Code Playgroud)

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

Tun*_*aki 5

一种简单的方法是将 的执行绑定maven-antrun-pluginpackage阶段。优点是您不需要重新执行此答案中提到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>
Run Code Online (Sandbox Code Playgroud)

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

运行mvn clean install(或 Eclipse 中的“运行方式...> Maven 安装”),Maven 将执行您想要的操作。${project.build.directory}/${project.build.finalName}.war指构建目录(target默认情况下)中存在的主要 WAR 工件。