当前位置: 首页 > 知识库问答 >
问题:

未指定Maven插件版本

卓俊晖
2023-03-14
<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <extensions>true</extensions>
    ....
</plugin>

我编写了一个没有父级的简单pom.xml来尝试这个方法,因此不涉及pluginManagement。我还检查了maven-model-builder中的super super pom-4.0.0.xml以确认maven-bundle-plugin不存在。此插件版本没有指定在任何地方。

maven如何确定采用哪个版本?

共有1个答案

景同
2023-03-14

Maven3.x兼容性注释:

当在POM或命令行中没有给出明确版本的情况下调用插件时,Maven2.x会选择可用的最新版本,其中最新版本既可以是发布版本,也可以是快照。出于稳定性的考虑,Maven3.x更喜欢最新的发布版本,而不是最新的快照版本。

鉴于自动插件版本解析所带来的不可复制构建的威胁,就POM中的插件声明而言,该特性被计划删除。当检测到缺少插件版本时,Maven3.x的用户会发现它会输出一个警告,以鼓励将插件版本添加到POM或其父POM之一。Enforcer规则requirePluginVersions还可以用于检查POM中缺少的插件版本。

 类似资料:
  • 我使用的是maven release插件,出现以下错误: [错误]无法执行目标组织。阿帕奇。专家plugins:maven release plugin:2.5.3:prepare(默认cli)on project***:“******”的版本未映射- 我从詹金斯那里运行这个任务,源代码在perforce中。我错过了什么?谢谢

  • 所有POM都有作为它们的版本,也在dependencies标签下。它通过上传到Nexus repo。 我们最近开始做。因此,所有20个父POM现在都是和版本,因为它们都位于nexus中。所有标记现在都指向 开发人员不想指向发布版本。他们需要来自同行的edge开发版本,不管它是否不稳定。 SCM只希望指向版本,因为他必须每周执行一次,但由于指向快照版本而失败。 现在我知道了版本插件,但问题是,我应该

  • 我有一个Maven BOM文件,我将其导入到我的项目pom中: 适用于依赖项,甚至插件。但现在我还想控制pom项目中使用的插件的依赖性版本: 我想在BOM文件中指定Commons-dbcp的版本,而不必将其指定为BOM文件中jetty插件的依赖项。

  • 我正在尝试使用Maven版本插件将所有子POM升级到父版本,并在父POM中执行所有子模块的构建。Pom文件如下所示 现在,如果我使用Eclipse中的命令在基本POM上运行Maven构建 子模块正在正确构建,但是如果我将base pom版本更新到2.0并使用版本插件命令 版本正在更新,但子模块尚未构建。只有基本pom得到构建。 我是否必须明确指定在某个阶段构建子模块?我错过了什么?。

  • 如何在Gradle Scala项目中指定Scala版本? 官方留档声明依赖项用于获取编译器。 这是否意味着将使用Scala 2.11.1?

  • 我添加了如下插件: …一切都很顺利。 我将版本更改为2.22.2,并得到错误:。 然而,当我在IntelliJ中进行工件搜索时,它确实会找到该版本。好的,我将更改恢复到原来的版本。 现在,当我运行时,以下内容引起了我的注意: 为什么没有使用3.0.0-M5?2.12.4是从哪里来的?我在我的pom.xml中搜索了“surefire”,但是除了上面显示的之外,没有其他点击出现。 通过查看Intell