Saltar al contenido

¿Cómo eliminar el “maven-enforcer-plugin (objetivo” enforce “) es ignorado por m2e” advertencia por eclipse?

Solución:

El complemento eclipse maven ejecuta un archivo de proyectos pom.xml para averiguar cómo está configurado el proyecto maven y traducir la configuración de maven pom.xml en una configuración de eclipse. Un pom.xml puede hacer referencia a una cantidad arbitraria de complementos maven y cada uno de esos complementos tiene el potencial de perder memoria o hacer cosas que son dañinas para eclipsar. Entonces, de manera predeterminada, el complemento m2e eclipse ignora cualquier complemento maven a menos que esos complementos maven tengan un conector de complemento m2e especial que le indique a m2e cómo integrar el complemento maven en eclipse. En resumen, m2e defiende el proceso de JVM de eclipse contra un complemento maven con errores, al decir que para cada complemento maven debe haber un conector m2e para hacer un puente entre maven y eclipse.

Entonces, para deshacerme de la advertencia, agregué lo siguiente a mi sección de administración de complementos del pom.xml principal

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.eclipse.m2e</groupId>
        <artifactId>lifecycle-mapping</artifactId>
        <version>1.0.0</version>
        <configuration>
          <lifecycleMappingMetadata>
            <pluginExecutions>
              <pluginExecution>
                <pluginExecutionFilter>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-enforcer-plugin</artifactId>
                  <versionRange>[1.0.0,)</versionRange>
                  <goals>
                    <goal>enforce</goal>
                  </goals>
                </pluginExecutionFilter>
                <action>
                  <ignore />
                </action>
              </pluginExecution>
            </pluginExecutions>
          </lifecycleMappingMetadata>
        </configuration>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

Parece que org.eclipse.m2e:lifecycle-mappinges un complemento de maven diseñado para contener metadatos para comunicarse con el complemento m2e de eclipse cuando procesa un pom.xml de maven y esta información se utiliza para decirle a eclipse qué hacer con los complementos de maven que se definen en pom.xml cuando eclipse ejecuta el pom.xml como parte de la interfaz de usuario de eclipse.

Desde la versión 1.4 de m2e y superior: puede integrar la configuración de ciclo de vida necesaria dentro del pom (parent-pom o project-pom) o puede integrar la información en la configuración global de m2e dentro de eclipse. También tiene algunas acciones de corrección rápida para aplicar estos cambios.

La última opción es buscar conectores m2e o cambiar a versiones más nuevas de diferentes complementos maven con soporte m2e integrado (por ejemplo, para complementos jaxb).

Aquí (para enforcer-plugin) creo que la definición en el pom es la forma más fácil.

Véase también: https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html

Solo un FYI para aquellos de ustedes que tienen un problema con la configuración de su IDE en su modelo de compilación. Esté atento a esta solicitud de mejora actualmente destinada al lanzamiento de Kepler:

Error 350414: almacenar conectores m2e ignorados fuera del proyecto pom.xml
https://bugs.eclipse.org/bugs/show_bug.cgi?id=350414

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *