【问题标题】:Maven war pluginMaven 战争插件
【发布时间】:2012-03-29 20:02:14
【问题描述】:

是否可以将 maven war 插件输出到两个不同的位置?我目前在我的 pom.xml 中有以下内容。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <executions>
      <execution>
        <phase>compile</phase>
        <goals>
          <goal>exploded</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <webappDirectory>${webappDirectory}</webappDirectory>
    </configuration>
</plugin>

这已经存在于 gwt maven 原型的 POM 中,我猜这会将所有内容爆炸到 webappDirectory(然后 gwt 插件将其用于它的开发模式)。

当我做一个

mvn war:war

它会在目标目录中为我生成一个战争文件。所以,我怀疑它的插件配置与我的 POM 中的配置不同(默认行为?)。我该如何覆盖这个?

我主要想完成以下几点:

我想要两个不同的资源文件夹 "src/resources/a" 和 "src/resources/b" ,其中一个文件夹用于分解版本(当前在我的 pom 中),另一个版本使用当我做“mvn war:war”时

【问题讨论】:

    标签: maven maven-3


    【解决方案1】:

    根据这个问题How to execute maven plugin execution directly from command line?,当您直接调用插件时,Maven 不使用 pom 配置(例如mvn war:war)。您的 POM 配置告诉 Maven 在调用编译 阶段 时运行 exploded 目标(即当您运行 mvn [phase] 时,阶段是 compile 或更高版本)。

    我建议您调查使用单独的配置文件进行展开部署(称为例如展开),并使用不同的资源插件配置来复制不同的资源目录。然后使用mvn compile -Pexploded 进行分解。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 2016-08-05
      • 2014-01-19
      相关资源
      最近更新 更多