即使没有子pom.xml参考,maven-war-plugin总是运行...为什么?

时间:2013-09-03 13:24:39

标签: maven plugins war pom.xml

我指的是:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.compiler.plugin.version}</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>        
        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.3</version>
                    <configuration>         
                        <outputDirectory>C:\apache-tomcat-7.0.42\webapps</outputDirectory>
                    </configuration>
                </plugin>     

。 。

但是,即使我没有在相应的子项pom.xml中指定任何内容,war文件仍然会被移动到该输出目录。

据我所知,pluginManagement仅供儿童pom参考吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

默认情况下,如果在pom.xml中指定<packaging>war</packaging>,Maven将调用maven-war-plugin war:war目标作为程序包阶段的一部分

由于maven-war-plugin的<pluginManagement>节在父pom.xml中指定了自定义<outputDirectory>,因此当您运行包阶段时,您的子pom.xml将使用此属性。< / p>

http://maven.apache.org/plugins/maven-war-plugin/usage.html