什么是Maven中的pluginManagement?

什么是Maven中的pluginManagement?

这是我POM文件的片段。

....        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.4</version>                        
                <executions>
                    <execution>
                        <phase>install</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            ......                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>...

我成功地将它与命令一起使用。

mvn install

但是,当我试图将它封装到“pluginManagement”标签中时,maven-dependency-plugin当我启动install进球。为什么“pluginManagement”标签会改变构建行为?或者我应该使用另一个目标或选择?


江户川乱折腾
浏览 2394回答 3
3回答

千万里不及你

你还需要添加<plugins> &nbsp;&nbsp;&nbsp;&nbsp;<plugin> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<groupId>org.apache.maven.plugins</groupId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<artifactId>maven-dependency-plugin</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;</plugin></plugins>在你的建筑里,因为pluginManagement只是在所有项目模块之间共享相同的插件配置的一种方法。来自Maven文档:插件管理*是一个元素,可以看到的是边插件。PluginManagement以同样的方式包含插件元素,只不过它不是为这个特定的项目构建配置插件信息,而是为了配置从这个项目中继承的项目构建。但是,这只会配置实际上在子元素的plugins元素中引用的插件。孩子们完全有权重写pluginManagement的定义。

小怪兽爱吃肉

您可以在父POM中使用pluginManagement来配置它,以防任何子POM想要使用它,但不是每个子插件都想使用它。例如,您的超级pom为maven Javadoc插件定义了一些选项。并不是每个子POM都希望使用Javadoc,所以您可以在pluginManagement部分中定义这些默认值。希望使用Javadoc插件的子POM只定义一个插件部分,并将继承父POM中pluginManagement定义中的配置。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java