java - maven war插件如何配置多个输出目录?

标签 java maven

我已经配置了下面的maven war插件,但是我只创建了一个输出目录:

     <plugin>
         <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>              
             <configuration> 
                <outputDirectory>C:\EclipseWorkspace\my_path\myPath2</outputDirectory>
              </configuration>
            <executions>
              <execution>
                <id>default-war</id>
                <phase>package</phase>
                <goals>
                  <goal>war</goal>
                </goals>
              </execution>
            </executions>
      </plugin>

例如,我如何配置此插件以创建两个输出目录?

最佳答案

首先,我强烈建议您不要将输出目录覆盖为“target/...”以外的目录。 Maven 遵循约定,虽然您可以将其配置为远离约定,但这确实意味着您必须将一切配置为远离约定位置。

现在,如果您想重复工作,只需添加第二次执行即可。为此,您需要两个不同的执行 ID。

        <executions>
          <execution>
            <id>default-war</id>
            <phase>package</phase>
            <goals>
              <goal>war</goal>
            </goals>
          </execution>
          <execution>
            <id>additional-war</id>
            <phase>package</phase>
            <goals>
              <goal>war</goal>
            </goals>
          </execution>
        </executions>

要让它们具有不同的配置,请将配置差异添加到执行中。

       <executions>
          <execution>
            <id>default-war</id>
            <phase>package</phase>
            <goals>
              <goal>war</goal>
            </goals>
            <configuration>
              ... stuff specific to the first war ...
            </configuration>
          </execution>
          <execution>
            <id>additional-war</id>
            <phase>package</phase>
            <goals>
              <goal>war</goal>
            </goals>
            <configuration>
              ... stuff specific to the second war ...
            </configuration>
          </execution>
        </executions>

请注意,这不会真正为单个 war 文件创建两个输出目录,而是会将 war 重新打包两次到两个不同的输出目录。这是一个很好的细节,但有时它可能很重要。

关于java - maven war插件如何配置多个输出目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25638110/

相关文章:

java - 无法从命令行运行已编译的 .classes

java - 尝试使用 iText7 合并合并 pdf,但是当我打开最终合并的 pdf 时,它说无法加载 pdf 文档

java - 无法解析以下 Artifact : org. apache.hbase :hbase:jar:0. 96.1.1-hadoop2

java - Eclipse Luna 中的 tomcat 8 启动失败 : Error with directory [C:\Program Files\Eclipse\eclipse\lib]

maven - 如何将Maven/Gradle项目及其所有依赖项安装到本地存储库?

java - 将两个 catch 子句组合在一起

java - 如何在 docker 容器中运行瘦 jar

java - 在mockito中使用doNothing()作为返回类型的方法

java - 在 bazel 构建中将 mvn 作为工具运行

java - 用于检查 API 与 Android 的兼容性的 Maven 插件