如何配置 Maven WAR 插件默认执行 "inplace" 目标?

How do I configure the Maven WAR plugin to execute the "inplace" goal by default?

我正在使用 Maven 3.2.3 和 Maven War 2.6 插件。我希望 Maven WAR 插件的“inlace”目标默认执行(我不必在命令行上明确指定“war:inlace”)。所以我创建了一个包含以下内容的配置文件

<profile>
    <id>dev</id>
    <activation>
            <property>
                    <name>!flag</name>
            </property>
    </activation>
    <build>
            <plugins>
                    <plugin>
                        <artifactId>maven-clean-plugin</artifactId>
                        <version>2.4.1</version>
                        <configuration>
                            <filesets>
                                <fileset>
                                    <directory>${project.basedir}/src/main/webapp/WEB-INF/classes</directory>
                                </fileset>
                                <fileset>
                                    <directory>${project.basedir}/src/main/webapp/WEB-INF/lib</directory>
                                </fileset>
                            </filesets>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>
                        <version>2.6</version>
                        <configuration>
                                <useCache>true</useCache>
                                <workDirectory>/tmp/${project.artifactId}/war/work</workDirectory>
                        </configuration>
                        <goals>
                                <goal>inplace</goal>
                        </goals>
                </plugin>
            </plugins>
    </build>
</profile>

使用“mvn help:active-profiles”,当我在我的 WAR 项目上 运行 “mvn clean install” 时,我已验证正在使用此配置文件。但是,WAR 没有组装到位。例如,我得到输出

[INFO] Packaging webapp
[INFO] Assembling webapp [myproject] in [/Users/davea/Dropbox/workspace/myproject/target/myproject]
[INFO] Processing war project
[INFO] Copying webapp resources [/Users/davea/Dropbox/workspace/myproject/src/main/webapp]
[INFO] Webapp assembled in [17460 msecs]

我还注意到我的 src/main/resources/WEB-INF 文件夹中没有“类”或“lib”资源。我需要进行哪些不同的配置才能让我的 WAR 就地构建?

这可能会被归类为 How to get Maven to run war:exploded but not war:war 的副本,但略有改动。而不是 exploded 它需要 inplace:

<pluginManagement>
        <plugins>
                <plugin>
                    <!-- don't pack the war  -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <configuration>
                        <!-- optional, depends on your setup -->
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                    <executions>
                        <execution>
                            <id>default-war</id>
                            <phase>none</phase>
                        </execution>
                        <execution>
                            <id>war-inplace</id>
                            <phase>package</phase>
                            <goals>
                                <goal>inplace</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
         ...
    </plugins>
<pluginManagement>

WAR 插件负责收集所有工件依赖项、类 和 Web 应用程序的资源,并将它们打包到 Web 应用程序存档中。

<plugin>

  <groupId>org.apache.maven.plugins</groupId>

  <artifactId>maven-war-plugin</artifactId>

  <version>3.0.0</version>

</plugin>