我们都知道,当我们在maven pom.xml中使用插件或依赖项时,我们必须让GAV(groupId,artifactId,version).That maven知道您想要的插件或依赖项。
例:
<!-- generate source plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<!-- ...others config -->
</plugin>但是,如果我这样写:
例:
<!-- generate source plugin -->
<plugin>
<artifactId>maven-source-plugin</artifactId>
<!-- ...others config -->
</plugin>是的!为什么?Maven说我们必须给GAV?为什么我只给A?
所以我想知道如果我不给G和V,那个maven会用什么G或者V?
发布于 2015-06-08 07:08:06
您不必指定版本的原因是因为它是从Maven超级POM (http://maven.apache.org/guides/introduction/introduction-to-the-pom.html)继承的。这个超级POM对maven-source-plugin有一个定义,该定义指定要使用的版本。
如果您声明了其他在超级POM中没有声明的依赖项或插件,那么版本是必需的。但是,请注意,明确声明您希望在您自己的pom.xml中使用的插件的版本以使您的构建更具可重现性是一个很好的实践。
在本例中,您可以省略组id,因为如果没有指定org.apache.maven.plugins,则maven将选择groupId作为groupId。因此,这只适用于使用这个组id的官方Maven插件。
https://stackoverflow.com/questions/30702573
复制相似问题