2

我当前的设置包括:

  • 插件中的 parentPom
  • 仅与 maven2 兼容的 customPlugin 2.0 版
  • 仅与 maven3 兼容的 customPlugin 3.0 版

各种引用 parentPom 并使用我的 customPlugin 的项目。当用户使用 maven2 时,customPlugin 应该是 version2 - 当他们使用 maven3 时,它应该是 customPlugin 的 version3。

我最初遵循本指南

如上页所述,可以使用配置文件和 {basedir} 属性来检测 maven 版本。检测机制在 parentPom 中实现。我遇到的问题是我的项目没有激活配置文件中的 maven3 检测机制。我相信这是因为配置文件没有在 Maven 中继承。

您会建议做什么以: - 避免在子 poms 中明确声明 pluginVersion - 提供 maven2 和 maven3 兼容性

非常感谢你的帮助。

4

1 回答 1

2

<build><pluginManagement> ...在父 POM 级别的内部配置文件(由 Maven 版本激活)中使用插件版本声明。然后,您可以在任何地方(在父 POM 或模块)使用该插件,而无需指定版本,它应该可以根据您的需要工作。

于 2012-06-15T06:46:26.727 回答