仅在指定的配置文件中启用Maven3扩展程序

4
我有一个扩展程序,在我的Maven 3构建中使用,用于输出构建信息。这个扩展程序有点啰嗦,所以我想仅在一些构建配置文件中运行它。但是,<extensions>只允许在主要的<build>中,而不允许在配置文件中。
所以我的问题有两部分。首先,是否已经有一种方法可以通过在pom.xml中做某些事情来限制仅在特定的配置文件中运行扩展程序?其次,如果没有,那么我该如何实现这个功能?
我的初始想法是调用mavenSession.getCurrentProject()。getActiveProfiles(),并将其与我想要在其上运行扩展程序的配置文件列表进行比较。但是,然后我需要以某种方式传递配置文件信息...我想在pom.xml中完成而不是通过命令行,但我不确定应该将此信息存储在何处。

您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - A_Di-Matteo
1个回答

1

有一个应该有效的方法是使用包含逗号分隔的配置文件名列表的属性,最好以一种使连接明显的方式命名(即“extension-artifactId”。run-for-profiles)。然后通过-D传递它,或将其放在<properties>部分中定义项目默认值。


我采纳了你的建议,因为我找不到一种常见的方法来传递参数给扩展。 - vertti
@vertti 我也遇到了同样的问题,不太确定我是否理解了所提出的解决方案。能否请您添加更多细节说明? - forhas
@forhas 我已经将这个功能实现成一个名为 maven-build-utils 的 Maven 插件。你可以查看这个提交记录获取详细信息。希望能对你有所帮助。 - vertti
@vertti 谢谢!我会看一下。 - forhas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接