gpt4 book ai didi

java - 默认 Maven 插件版本是如何决定的?

转载 作者:行者123 更新时间:2023-12-01 18:09:45 37 4
gpt4 key购买 nike

我想知道我何时没有在某些模块的 pom.xml 中指定插件版本,如下所示:

<build>
...
<plugin>
<groudId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
...
</build>

运行“mvncompile”时使用的默认插件版本是什么?

我已经尝试过,实际上它使用的是 maven-compiler-plugin 版本 3.1,上面的插件元素已注释,我的 Maven 版本是 3.6.3。

我花了1个小时谷歌了Maven的文档和相关帖子,但没有找到确切的答案。我真的很想知道这个版本是如何决定的?

最佳答案

神奇的事情并不发生在 super pom 中,而是发生在所谓的绑定(bind)描述符中,如 https://github.com/apache/maven/blob/master/maven-core/src/main/resources/META-INF/plexus/default-bindings.xml 所示。 。但是,他们正在转向匹配的打包插件,例如 maven-jar-plugin,它位于 https://github.com/apache/maven-jar-plugin/blob/master/src/main/filtered-resources/META-INF/plexus/components.xml这些版本尚未更新,因为如果 2 个使用不同 Maven 版本的用户有不同的结果(例如,一个用户的构建已损坏,另一个则没有),那会很奇怪。因此最好在 pom 中指定插件版本,不要依赖 Maven 提供的默认版本。

最后都在 https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html 有描述

关于java - 默认 Maven 插件版本是如何决定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59557884/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com