当前位置: 首页 > 知识库问答 >
问题:

Maven的pom.xml中的pluginManagement是什么?

尹弘壮
2023-03-14

这是我的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依赖插件将停止工作。为什么“插件管理”标签会改变构建行为?或者我应该使用其他目标或选项?

共有3个答案

隆礼骞
2023-03-14

您在父pom中使用插件管理来配置它,以防任何子pom想要使用它,但不是每个子插件都想使用它。一个例子可能是你的超级pom为maven Javadoc插件定义了一些选项。

不是每个子pom都想使用Javadoc,所以您可以在pluginManagement部分中定义这些默认值。想要使用Javadoc插件的子pom只定义了一个插件部分,并将从父pom中的pluginManagement定义继承配置。

韦嘉颖
2023-03-14

之间的区别

>

  • <代码>

    <代码>

    你不需要有一个<代码>

    <plugins>
        <plugin>
            <groupId>com.foo</groupId>
            <artifactId>bar-plugin</artifactId>
        </plugin>
    </plugins>
    

    请注意,您没有定义任何配置。您可以从父项目继承它,除非您需要根据子项目的需要进一步调整您的调用

    有关更具体的信息,您可以查看:

    >

  • Mavenpom.xml参考:插件

    Maven pom.xml参考:插件管理

  • 徐翔
    2023-03-14

    你还需要添加

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
        </plugin>
    </plugins>
    

    因为pluginManagement只是在所有项目模块中共享相同插件配置的一种方式。

    来自Maven文档:

    pluginManagement:是插件旁边的一个元素。插件管理包含插件元素的方式大致相同,只是它不是为这个特定的项目构建配置插件信息,而是旨在配置从这个项目构建继承的项目构建。然而,这只配置了子级中插件元素中实际引用的插件。孩子们完全有权覆盖pluginManagement定义。

     类似资料:
    • 问题内容: 这是我的pom文件的一个片段。 我在命令中成功使用了它 但是,当我尝试将其包含在标签中时,启动目标后,它们将停止工作。为什么标签会更改构建行为?还是应该使用其他目标或选择? 问题答案: 你仍然需要添加 在构建中,因为这只是在所有项目模块之间共享相同插件配置的一种方法。 从Maven文档中: pluginManagement:是在侧面插件中可以看到的元素。插件管理包含插件元素的方式几乎相

    • 问题内容: 我刚开始使用Maven,并且阅读了插件是可以使用的其他组件。文件 的典型结构是 问题 :我应该在哪里插入标签?例如以下内容: 在依赖之前还是在标签之后?有关系吗? 问题答案: 如果使用Maven配置文件,也可以将插件放置在的部分中。顺序无关紧要。

    • 问题内容: 最近,我用maven编写了一个项目,但是我对maven pom.xml中的版本有疑问。 如果我写这样的依赖 版本是什么 在一个简单的项目中,没有子项目 作为另一个项目的依赖项,并且该项目使用foo-bar-1.0.0 问题答案: 问题的第1部分:如果不指定版本,则会有各种不同的结果: a)你会得到一个错误… (D:\src\myproject\pom.xml) has 1 error

    • 主要内容:插件管理,继承插件依赖Maven 使用 dependencyManagement 对依赖进行管理,与之类似地,Maven 中还提供了一个名为 pluginManagement 的元素,它可以帮助用户管理 Maven 插件。 插件管理 pluginManagement 元素与 dependencyManagement 元素的原理十分相似,在 pluginManagement 元素中可以声明插件及插件配置,但不会发生实际的