我对Maven pom和插件配置有两个一般性问题
在超级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-assembly-plugin,maven-dependency-plugin和maven-release-plugin。这些插件通常不受构建周期的约束,因此,对于成功的构建而言,它们实际上并不是必需的。这就是为什么将来会删除它们的原因。
第二件事与在命令行上调用插件有关,如下所示:
mvn version:set -DnewVersion=1.0
这里的调用意味着在这种情况下不需要指定插件的组ID
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/