我对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.mojocause 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/

10-17 00:55