Maven Flatten Plugin - toniferr/peeper-Maven GitHub Wiki

El complemento Flatten Maven genera una versión plana del pom.xml que Maven instala y despliega en lugar del original. El POM aplanado tiene las siguientes características:

  • Se eliminan elementos específicos de construcción
  • Los elementos específicos de desarrollo se eliminan de forma predeterminada
  • Solo contiene elementos necesarios para los usuarios de su artefacto.
  • Sus variables están resueltas
  • Su relación principal se resuelve, se aplana y se elimina.
  • Sus perfiles basados ​​en el tiempo de construcción se pueden evaluar para que su impacto se incruste
  • Los perfiles controlados por JDK o OS aún permanecen permitiendo dependencias dinámicas si es necesario

Esto permite las siguientes posibilidades y características:

  • Puede mantener las versiones de los POM principales fijas y utilizarlas para el desarrollo solo distribuidas a través del control de versiones solo en lugar de repositorios maven. De esta forma, puede usar variables centralizadas y Gestión de dependencias sin mantener y liberar versiones POM principales.
  • Puede usar mucha flexibilidad de Maven, pero evite varios errores que resulten en la instalación o implementación de POM inconsistentes.

Simplemente agregue el complemento a la sección de compilación de su POM de nivel superior de la siguiente manera.

  <build>
    <plugins>
      ...
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>flatten-maven-plugin</artifactId>
        <!--<version>1.2.2</version>-->
        <configuration>
        </configuration>
        <executions>
          <!-- enable flattening -->
          <execution>
            <id>flatten</id>
            <phase>process-resources</phase>
            <goals>
              <goal>flatten</goal>
            </goals>
          </execution>
          <!-- ensure proper cleanup -->
          <execution>
            <id>flatten.clean</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
⚠️ **GitHub.com Fallback** ⚠️