自动检测mvn3以在多项目环境中获取插件

时间:2012-06-14 23:31:44

标签: maven maven-2 maven-3

我目前的设置包括:

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

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

我最初遵循此guide

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

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

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:2)

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