我正在使用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>
每个子项目都有一个错误消息,表示maven-enforcer-plugin(目标“enforcer”)被M2E忽略。
eclipse maven插件运行一个projects 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插件,设计用于保存元数据,以便在eclipse m2e插件处理maven pom.xml时与之通信,该信息用于告诉eclipse当eclipse将pom.xml作为eclipse UI的一部分运行时如何处理pom.xml中定义的maven插件。
我正在使用maven和eclipse m2e配置一个多模块父子maven项目,我使用的是eclipse Juno SR1的最新内容,即m2e 1.2.0 父pom使用enforcer插件,因此父pom使用enforcer插件。xml的插件部分包含以下内容 每个子项目都有一条错误消息,表示m2e忽略了maven enforcer插件(目标“enforce”) 这条信息是什么意思? 如何配置东西以删除
我在父pom的imported dependencyManagement部分中指定了库的版本。我确认我的有效pom只有一次出现这种依赖性。它位于dependencyManagement部分: 这将根据它覆盖可传递依赖项的版本。安装(并重新安装依赖项以匹配版本边界)后,组织。阿帕奇。专家插件:maven依赖插件:2.8:树打印: 但是(最初,没有重新安装依赖项)enforcer抱怨版本错误: 并显示
我正在尝试用Maven安装UIMA JDK。然而,总有一个警告 请帮助我解决此问题
有关错误和可能的解决方案的详细信息,请阅读以下文章:[帮助1]http://cwiki.apache.org/confluence/display/maven/mojoExecutionException
如何消除以下m2eclipse警告?
我在我的项目中更新了几个依赖项的版本,构建变得很慢,在enforcer插件上等待大约5分钟以上。我试着比较了以前构建的调试日志,它们通常只需要3分钟,而这次总共需要8+分钟,我提到的5+分钟被执行器偷走了。我在日志中看到的唯一显著区别是下面。没有错误或其他任何东西,而且这些日志移动得很慢。这就是问题所在。如果有人知道这意味着什么,我怎样才能通过这个,这将是很大的帮助 omitfornearer:o