这是我的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依赖插件
将停止工作。为什么“插件管理”标签会改变构建行为?或者我应该使用其他目标或选项?
您在父pom
中使用插件管理
来配置它,以防任何子pom
想要使用它,但不是每个子插件都想使用它。一个例子可能是你的超级pom
为maven Javadoc插件定义了一些选项。
不是每个子pom
都想使用Javadoc,所以您可以在pluginManagement
部分中定义这些默认值。想要使用Javadoc插件的子pom只定义了一个插件部分,并将从父pom
中的pluginManagement
定义继承配置。
之间的区别
>
<代码>
<代码>
你不需要有一个<代码>
<plugins>
<plugin>
<groupId>com.foo</groupId>
<artifactId>bar-plugin</artifactId>
</plugin>
</plugins>
请注意,您没有定义任何配置。您可以从父项目继承它,除非您需要根据子项目的需要进一步调整您的调用。
有关更具体的信息,您可以查看:
>
Mavenpom.xml参考:插件
Maven pom.xml参考:插件管理
你还需要添加
<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 元素中可以声明插件及插件配置,但不会发生实际的