4

我在我的 Maven 3 构建中使用了一个扩展,它为我输出构建信息。这有点冗长,所以我只想在一些构建配置文件中运行它。但<extensions>只允许在主要<build>而不是在配置文件中。

所以我的问题是两个方面。首先,是否已经有一种方法可以限制扩展仅在特定配置文件中运行,而我可以在pom.xml? 其次,如果没有,那我应该如何实现呢?

我最初的想法是调用mavenSession.getCurrentProject().getActiveProfiles()并将其与我想要运行扩展的配置文件列表进行比较。但是然后我需要以某种方式在那里传递配置文件信息。我想在pom.xml而不是从命令行中执行此操作,但我不确定应该将这些信息存储在哪里。

4

1 回答 1

1

应该起作用的一件事是使用包含逗号分隔的配置文件名称列表的属性,理想情况下以使连接明显的方式命名(即«extension-artifactId».run-for-profiles)。然后通过 -D 传递它,或者将它放在 <properties> 部分以定义项目默认值。

于 2012-02-02T02:22:14.127 回答