当前位置: 首页 > 面试题库 >

Java 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-dependency-plugin启动install目标后,它们将停止工作。为什么“ pluginManagement”标签会更改构建行为?还是应该使用其他目标或选择?


问题答案:

你仍然需要添加

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

在构建中,因为pluginManagement这只是在所有项目模块之间共享相同插件配置的一种方法。

从Maven文档中:

pluginManagement:是在侧面插件中可以看到的元素。插件管理包含插件元素的方式几乎相同,除了它不是为该特定项目构建配置插件信息,而是要配置从此继承的项目构建。但是,这仅配置在子级的plugins元素中实际引用的插件。子级有权覆盖pluginManagement定义。



 类似资料:
  • 这是我的pom文件的一个片段。 我通过命令成功地使用了它 但是,当我尝试将其包含在“pluginManagement”标记中时,当我启动目标时,将停止工作。为什么“插件管理”标签会改变构建行为?或者我应该使用其他目标或选项?

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

  • 我看了一遍文件,没有发现任何关于它的用途的东西。

  • 问题内容: 是否有Maven的“阶段”或“目标”来简单地执行Java类的主要方法?我有一个项目,希望通过简单地执行诸如“ mvn run”之类的操作来进行手动测试。 问题答案: 请参阅exec maven插件。你可以使用以下命令运行Java类: 调用就像插件配置在中一样简单。Mojohaus上的插件站点上有一个更详细的示例。

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