gpt4 book ai didi

eclipse - 如何消除 "maven-enforcer-plugin (goal "enforce") is returned by m2e"eclipse 警告?

转载 作者:行者123 更新时间:2023-12-02 06:59:51 26 4
gpt4 key购买 nike

我正在使用 maven 和 eclipse m2e 配置多模块父子 maven 项目,我使用的是 eclipse Juno SR1 的最新内容,即 m2e 1.2.0

父pom使用enforcer插件,因此父pom.xml的插件部分有以下内容

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

每个子项目都有一条错误消息,指出 m2e 忽略了 maven-enforcer-plugin(目标“enforce”)。

  • 此消息的含义是什么?
  • 如何配置才能消除此消息?
  • 我需要配置 eclipse 项目设置或 pom.xml 设置吗?

最佳答案

eclipse maven 插件运行一个项目 pom.xml 文件,以了解 maven 项目的配置方式,并将 maven pom.xml 配置转换为 eclipse 配置。 pom.xml 可以引用任意数量的 Maven 插件,并且每个插件都有可能泄漏内存,或者执行对 Eclipse 有害的操作。因此,默认情况下,m2e eclipse 插件会忽略任何 Maven 插件,除非这些 Maven 插件有一个特殊的 m2e 插件连接器,告诉 m2e 如何将 Maven 插件集成到 Eclipse 中。总而言之,m2e 正在保护 eclipse JVM 进程免受有问题的 Maven 插件的影响,也就是说,对于每个 Maven 插件,都需要有一个 m2e 连接器来桥接 Maven 和 Eclipse。

因此,为了消除警告,我将以下内容添加到父 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>

似乎org.eclipse.m2e:lifecycle-mapping是一个maven插件,旨在保存元数据,以便在处理maven pom.xml时与eclipse m2e插件进行通信,并且使用此信息当 eclipse 将 pom.xml 作为 eclipse UI 的一部分运行时,告诉 eclipse 如何处理 pom.xml 中定义的 Maven 插件。

关于eclipse - 如何消除 "maven-enforcer-plugin (goal "enforce") is returned by m2e"eclipse 警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13040788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com