Jak wyeliminować "maven-enforcer-plugin (cel" enforce") jest ignorowany przez M2E " Ostrzeżenie przez eclipse?

Konfiguruję wielomodułowy projekt rodzica dziecka Maven za pomocą Mavena i eclipse M2E, używam najnowszych rzeczy z eclipse Juno SR1 czyli m2e 1.2.0

Rodzic pom używa wtyczki enforcer, więc rodzic pom.xml ma następujące w sekcji Wtyczki

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <version>1.1.1</version>
    <executions>

        <!-- Enforce that all versions of a transative dependency must converge. -->
        <execution>
            <id>enforce</id>
            <configuration>
                <rules>
                    <DependencyConvergence />
                </rules>
            </configuration>
            <goals>
                <goal>enforce</goal>
            </goals>
        </execution>

        <!-- Black list certain jars -->
        <execution>
            <id>enforce-banned-dependencies</id>
            <goals>
                <goal>enforce</goal>
            </goals>
            <configuration>
                <rules>
                    <bannedDependencies>
                        <excludes>
                            <exclude>
                                commons-logging:commons-logging
                            </exclude>
                        </excludes>
                    </bannedDependencies>
                </rules>
                <fail>true</fail>
            </configuration>
        </execution>

    </executions>
</plugin>

Każdy z projektów potomnych ma Komunikat o błędzie mówiący maven-enforcer-plugin (goal "enforce") is ignored by m2e.

  • Jakie jest znaczenie tej wiadomości?
  • Jak skonfigurować rzeczy, aby pozbyć się tej wiadomości?
  • czy ja trzeba skonfigurować ustawienia projektu eclipse lub pom.ustawienia xml?
Author: Gray, 2012-10-24

6 answers

Wtyczka eclipse maven uruchamia pom projektu.plik xml w celu dowiedzieć się, jak projekt maven jest skonfigurowany i przetłumaczyć maven pom.konfiguracja xml w konfigurację eclipse. Pom.xml może odwoływać się do dowolnej liczby wtyczek Mavena i każda z tych wtyczek może wyciekać pamięć lub robić rzeczy, które są szkodliwe dla eclipse. Tak więc domyślnie wtyczka M2E eclipse ignoruje wszelkie wtyczki Mavena, chyba że te wtyczki Mavena mają specjalne złącze wtyczki M2E, które mówi m2e jak zintegrować wtyczkę maven z eclipse. Podsumowując, M2E broni proces eclipse JVM przed wadliwą wtyczką Mavena, mówiąc, że dla każdej wtyczki Mavena musi być złącze M2E, aby pomostować między mavenem a eclipse.

Więc aby pozbyć się ostrzeżenia dodałem następujące do mojej sekcji zarządzania wtyczką macierzystego pom.xml

<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>

Wygląda na to, że org.eclipse.m2e:lifecycle-mapping jest wtyczką Mavena zaprojektowaną do przechowywania meta danych do komunikacji z eclipse M2E plugin, gdy przetwarza maven pom.xml i ta informacja jest używana, aby powiedzieć eclipse co zrobić z wtyczkami Mavena, które są zdefiniowane w pom.xml gdy eclipse uruchamia pom.xml jako część eclipse UI.

 53
Author: ams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-04 10:31:22

Od wersji m2e 1.4 i wyższej: Możesz zintegrować wymaganą konfigurację cyklu życia w pom (parent-pom lub project-pom) lub możesz zintegrować informacje z globalną konfiguracją M2E w eclipse. Masz również kilka QuickFix-akcji do stosowania tych zmian.

Ostatnią opcją jest szukanie złączy m2e lub przejście na nowsze wersje różnych wtyczek maven ze zintegrowaną obsługą m2e (np. dla wtyczek jaxb).

Tutaj (dla enforcer-plugin) Myślę, że definicja w pom jest najprostszy sposób.

Zobacz też: https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html

 4
Author: afischer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-18 14:22:13

Dla tych z Was, którzy mają problem z konfiguracją IDE w modelu budowania. Zwróć uwagę na tę prośbę o ulepszenie, obecnie przeznaczoną do wydania Keplera:

Bug 350414: przechowuj ignorowane złącza m2e poza projektem pom.xml https://bugs.eclipse.org/bugs/show_bug.cgi?id=350414

 2
Author: rmp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-20 18:40:47

Dla mnie to był podobny problem

Miałem Mavena 3.0.3 i Javę 1.5

A mój pom miał

<executions>
                    <execution>
                        <id>enforce-versions</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>[3.0.3,2.2.1,)</version>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <version>[1.7, 1.8)</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

Jak widać nie spotkałem się z regułami, dlatego zaktualizowałem Javę i uruchomiłem mvn i byłem ustawiony. Mam nadzieję, że to komuś pomoże.

 0
Author: tosha Shah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-05 17:45:59

Kolejna pułapka istnieje gdy posiadamy kilka filtrów pluginexecutionfilter. To musi być w odpowiednim miejscu w pom.xml! Dla mnie to było straszne, aby znaleźć, jak żaden błąd lub ostrzeżenie o przesunięciu nie istniał.

Jest to odpowiedni kod do posiadania kilku filtrów pluginExecutionFilters:

<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>
<!-- now here follows the new filter -->
                <pluginExecution>
                    <pluginExecutionFilter>
                        <groupId>com.googlecode.maven-java-formatter-plugin</groupId>
                        ...
 0
Author: smön,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-11 16:38:51

Jak wyeliminować Ostrzeżenie "maven-enforcer-plugin (cel" enforce") jest ignorowany przez M2E " przez eclipse?

Chociaż wtyczka eclipse lifecycle-mapping pracowała dla mnie przy innych projektach, obecnie pracuję w sklepie IntelliJ z moim ukrytym Eclipse i nie chcę się ujawniać zmieniając wszystkie ich pliki pom, aby zawierały cokolwiek z grupy org.eclipse.m2e.

Po kilku eksperymentach, odkryłem, że można dostać to Ostrzeżenie, aby nie pokazać poprzez zmianę Mapowania cyklu życia w preferencjach Maven. Szczerze mówiąc nie jestem w 100% pewien, co to robi, ale nie widziałem żadnych skutków ubocznych tak...

  1. W Eclipse, przejdź do: Preferences & rightarrow; Maven & rightarrow; Lifecycle Mappings.
  2. Kliknięcie Open workspace lifecycle mappings metadata spowoduje otwarcie pliku lifecycle-mapping-metadata.xml w zakładce w tle. Zakładam, że to współodpowiedzialne do poniższego pliku w poddir Twojej przestrzeni roboczej:

    .metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml
    
  3. Następnie dodaj następującą strofę na dole pliku wewnątrz <pluginExecutions>...</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>
    
  4. Po zapisaniu pliku XML musisz wrócić do okna preferencji i nacisnąć Reload workspace lifecycle mappings metadata, które skompiluje plik w jakiś sposób.

  5. na koniec będziesz musiał wykonać projekt aktualizacji Mavena na wszystkich swoich projektach, aby zobaczyć, jak ostrzeżenia znikną.
Mam nadzieję, że to pomoże.
 0
Author: Gray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-25 20:22:09