遗漏Maven插件版本会有什么后果?

Kim*_*ble 5 maven

[WARNING] 'reporting.plugins.plugin.version' for org.apache.maven.plugins:maven-clover-plugin is missing. @ com...
Run Code Online (Sandbox Code Playgroud)

我正在复活一个旧的Maven项目.一些/大多数Maven插件依赖项已经配置了没有版本.除了警告,这有什么后果?Maven是否会尝试查找最新版本,并通过增加构建时间?

Tom*_*icz 6

Maven是否会尝试查找最新版本,并通过增加构建时间?

是的,当省略版本时,maven会尝试查找并使用最新版本.这实际上是一个糟糕的设计选择,但不是因为构建时间(我认为它缓存插件并且只在一段时间内更新它们).

这里真正的问题是你永远不知道使用了哪个版本的插件,并且插件将来会表现得一样.这使得构建不可重复.

例如,如果某些插件更改了某些选项的默认值,则完全相同的完全相同的源pom.xml将产生不同的结果.

maven的开发人员试图通过首先警告您应该明确指定插件版本来修复此设计缺陷.毕竟使用过时的插件比使用全新的插件更安全,而不是突然破坏你的构建.