我有两个关于 Maven pom 和插件配置的一般性问题
- 在 super pom 中,它被提到为
<!-- NOTE: These plugins will be removed from future versions of the super POM -->
.
他们为什么要移动它以及它将移动到哪里? - 根据this我们不需要在插件配置中指定“org.apache.maven.plugins & org.codehaus.mojo”组 ID。
Maven 如何以及为何单独使用这两个组 ID?
最佳答案
you mentioned 的零件有以下插件:
maven-antrun-plugin、maven-assemble-plugin、maven-dependency-plugin 和 maven-release-plugin。这些插件通常不受构建周期的约束,因此对于成功的构建来说它们实际上并不是必需的。这就是为什么它们将来会被删除的原因。
第二件事与在命令行上调用插件有关,如下所示:
mvn version:set -DnewVersion=1.0
其中此调用意味着不需要指定插件的 groupId,在这种情况下org.codehaus.mojo
, cause it is default 但是这与 pom 文件中的用法不同,例如在插件定义中,如下例所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
..
</plugin>
上面的内容可以缩写为:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
..
</plugin>
在 XSD modell you can see what's exactly 的定义中默认值仅为 org.apache.maven.plugins 。
关于java - Maven super POM 和插件配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24000880/