防止maven模块在没有激活的配置文件的情况下构建

时间:2015-07-22 06:58:49

标签: java maven maven-3

我有一个带有父POM的多模块maven项目。项目的一个子项是根据配置文件为不同的环境定制的,父pom也根据选定的环境(配置文件)构建所需的模块。

我想阻止在没有激活配置文件的情况下构建(在子模块中读取为“运行mvn包”)自定义子项目,因为环境没有“通用”或“默认”版本。换句话说,我想强迫开发人员使用依赖于环境的配置文件。

是否可以这样做?

1 个答案:

答案 0 :(得分:4)

Maven Enforcer仅适用于此要求。只需添加所需的配置文件。

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.4</version>
        <executions>
          <execution>
            <id>enforce-all-profiles-are-activated</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireActiveProfile>
                  <profiles>first,second</profiles>
                </requireActiveProfile>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>