博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何解决Spring Data Maven构建的“生命周期配置未涵盖的插件执行”
阅读量:2290 次
发布时间:2019-05-09

本文共 11169 字,大约阅读时间需要 37 分钟。

我正在尝试使用 。 我首先尝试遵循主站点链接的 。 特别是,我的pom.xml基于 。 这是导致问题的插件的pom.xml中的一个片段...

org.codehaus.mojo
aspectj-maven-plugin
1.0
true
org.springframework
spring-aspects
org.springframework.data
spring-data-neo4j
1.6
1.6
compile
test-compile
org.aspectj
aspectjrt
${aspectj.version}
org.aspectj
aspectjtools
${aspectj.version}

我看到的错误是:

Multiple annotations found at this line:    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (execution: default, phase: process-classes)    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:test-compile (execution: default, phase: process-classes)

我正在运行Eclipse 3.6.2和m2e 0.13。 我不是Maven专家,所以请尽可能在回答中多加解释。

我还通过尝试了 ,仍然遇到相同的错误。


#1楼

我在用

org.apache.maven.plugins
maven-antrun-plugin
1.6
runSomeAntTasks
test-compile
. .
run

并将其更改为

org.apache.maven.plugins
maven-antrun-plugin
1.6
runSomeAntTasks
integration-test
. .
run

错误消失了。 也许不建议将执行绑定到test-compile阶段,因此找到不同的阶段可能是将插件管理配置添加到maven生命周期的替代解决方案。


#2楼

作为先前答案的附录,我发现了一个变通办法,即您是否可以将所有这些样板添加到项目POM中。 如果您在以下位置查看:

{Eclipse_folder}/plugins/org.eclipse.m2e.lifecyclemapping.defaults_{m2e_version}

您应该找到一个名为lifecycle-mapping-metadata.xml的文件,在该文件中可以进行其他答案和中所述的相同更改。


#3楼

在我遇到类似问题的情况下,仅在将<pluginManagement>标记引入到有问题的pom.xml中之后,它才起作用,而不是使用Andrew的建议。 看起来该错误是由于缺少<pluginManagement>标记引起的。 因此,为了避免Eclipse中的异常,需要将所有插件标签简单地封装在<pluginManagement>标签内,如下所示:

...
...
....

一旦建立了这种结构,错误就会消失。


#4楼

建议解决方案:

  1. pom.xml中的错误上使用快速修复 ,然后选择Permanently mark goal run in pom.xml as ignored in Eclipse build -这将为您生成所需的样板代码。

  2. 要指示Eclipse在构建期间运行您的插件-只需在生成的配置中将<ignore/>标记替换为<execute/>标记:

    另外,您也可以指示Eclipse在增量构建上运行插件:

    true

#5楼

对我来说,这是由AspectJ类引起的。 我在“发现”下找不到可以提供帮助的插件。 因此,我通过在现有STS安装的插件和功能文件夹下复制org.maven.ide.eclipse.ajdt文件来解决此问题。

我知道,这种做法很不礼貌。


#6楼

转到workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml然后创建lifecycle-mapping-metadata.xml文件并粘贴在下面并重新加载配置,如下所示

如果您使用的是Eclipse 4.2,并且在映射时遇到麻烦,并且不会给您带来麻烦,则pom.xml创建新文件lifecycle-mapping-metadata.xmlWindows -> Preferences -> Lifecycle mapping配置它Windows -> Preferences -> Lifecycle mapping (不要忘记按Reload此文件的每次更改后的工作空间生命周期映射元数据!)。 这是基于eclipse/plugins/org.eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xml示例

org.codehaus.mojo
buildnumber-maven-plugin
create-timestamp
[0.0,)
org.apache.maven.plugins
maven-dependency-plugin
list
[0.0,)
org.zeroturnaround
jrebel-maven-plugin
generate
[0.0,)
org.codehaus.mojo
gwt-maven-plugin
compile
[0.0,)
org.apache.maven.plugins
maven-dependency-plugin
copy-dependencies
unpack
[0.0,)
org.apache.maven.plugins
maven-antrun-plugin
[1.7,)
run
org.apache.maven.plugins
maven-checkstyle-plugin
[2.8,)
check

#7楼

我在Eclipse v4.3(Kepler)和Maven 3.1上遇到了这个问题。

解决方案是为您的Eclipse项目使用JDK而不是JRE。 确保尝试使用maven clean并从Eclipse进行测试,以下载丢失的JAR文件。


#8楼

建议您不要破坏pom文件,而建议您转到Eclipse中的Show ViewMarkers ,选择并删除适当错误的标记。


#9楼

我今天有这个问题。 我正在使用STS 3.4及其捆绑的Roo 1.2.4。 后来我尝试使用Eclipse Kepler和Roo 1.2.5,出现同样的错误。

我已经改变了我的pom.xml添加pluginTemplates标签生成后和之前的插件的声明,但是没有奏效。

是什么让我着迷:

  • 使用jdk 1.7.0_51
  • 下载的Roo 1.2.5
  • 下载的Maven 3.2.1(如果没有,执行“执行eclipse”时将显示此错误“ error = 2,没有这样的文件或目录”)
  • 在我的PATH上配置的JDK,Roo和Maven bin目录:

    导出PATH = / opt / jdk1.7.0_51 / bin:$ PATH导出PATH = / opt / spring-roo-1.2.5.RELEASE / bin:$ PATH导出PATH = / opt / apache-maven-3.2.1 / bin :$ PATH

进行如下配置:( )

$ mkdir hello $ cd hello$ roo.shroo> project --topLevelPackage com.fooroo> jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT roo> web mvc setuproo> perform eclipse

用Eclipse打开(没有STS,但我想它可以工作):导入->现有项目到Workspace


#10楼

如果使用的是Eclipse Juno,则可能是Maven Integration for Eclipse WTP的问题 。 因此,从Eclipse Market Place安装相同的程序。

在Eclipse IDE帮助>> Eclipse Market Place >>中,输入查询wtp,它将显示Eclipse WTP for Juno的maven集成,安装它并更新maven依赖项并享受


#11楼

我遇到了与Maven Thrift插件完全相同的问题。 这是我的解决方案,不需要弄乱您的pom.xml:

  1. 使用命令行Maven实用程序mvn

    mvn eclipse:eclipse

    创建一个蚀项目

  2. 在eclipse中导入项目。 切记使用

    文件>导入>常规>现有项目到工作区

    将项目添加到您的工作区中。

这应该可以解决问题。


#12楼

在哪里找到WTP:

在pom.xml中的<插件>上单击鼠标右键,然后单击“发现新的m2e连接器”。

我安装了所有默认检查的东西,并且可以正常工作。


#13楼

在Eclipse Luna 4.4.0中,您可以选择在首选项中忽略此错误。

窗口 > 首选项 > Maven > 错误/警告 > 生命周期配置未涵盖插件的执行 。 根据需要选择“ 忽略/警告/错误”

此外,在针对此错误的快速修复(Ctrl + 1)中,它提供了一个选项,可以在Eclipse首选项中将目标标记为在Eclipse构建中被忽略(实验性)

这是一种更干净的方法,因为它不会修改您的pom.xml

您还需要执行一个Maven > 更新项目,以修复其他项目中的相同错误。


在STS(Spring-tool-suite)中,您可以选择在首选项中忽略此错误

窗口>首选项> Maven>错误/警告>生命周期配置未涵盖的插件执行。 根据需要选择“忽略/警告/错误”。 然后。 右键单击项目,单击Maven并更新项目,然后错误将消失。


#14楼

我遇到了同样的错误。 完成以下操作后,它消失了。

  1. 右键单击该项目。
  2. 选择Maven>更新项目...

#15楼

这个答案和上面的顶级插件管理答案一样好(也就是说,这很糟糕)。

只需删除pom中所有有问题的xml代码即可。

做完了 问题已解决(除非您刚刚破坏了Maven配置...)。

开发人员在执行任何这些解决方案之前应非常小心,他们了解插件管理标签。 只是随机地对插件打耳光,很可能会破坏其他人的Maven构建,以使日食能够正常工作。


#16楼

请注意,今天的Eclipse Neon发行版中可用的(m2e)版本1.7.0支持用于指定生命周期映射元数据的新语法。 结果就是这样的样板(在这里,我们告诉m2e忽略目标):

org.eclipse.m2e
lifecycle-mapping
1.0.0
org.codehaus.mojo
exec-maven-plugin
[1.5.0,)
exec

可以在插件的执行节点中用单行替换:

有关详细信息,请参见 。


#17楼

将插件执行的Maven首选项从错误更改为忽略


#18楼

您可以在日食中抑制此错误:窗口->首选项-> Maven->错误/警告


#19楼

由于缺少m2e连接器,在氖灯上也会发生此错误。 解决方案:悬停错误并选择-发现新的m2e连接器。

它将安装新的连接器。


#20楼

真是一团糟。 我不记得在哪里找到它了,但是我必须添加以下内容才能使M2Eclipse感到满意。 更让人难过的是,要理解为什么需要这个标签并不容易。

... various plugins ...
org.eclipse.m2e
lifecycle-mapping
1.0.0
org.codehaus.mojo
aspectj-maven-plugin
[1.0,)
test-compile
compile

M2Eclipse插件还有许多其他问题,这些问题根本无法与Spring Data一起使用。 最后,我禁用了M2Eclipse,转而使用 。


#21楼

m2e 0.13引入了m2e连接器m2e市场,以扩展m2e功能。 就像旧的m2e-extras存储库一样。

您可以从以下偏好设置访问m2e市场: 偏好设置> Maven>发现>打开目录 。 安装WTP集成为我解决了大多数插件问题。


#22楼

参见 。

为了解决一些长期存在的问题,m2e 1.0要求明确的说明如何处理所有与项目构建生命周期的“有趣”阶段绑定的Maven插件。 我们将这些指令称为“项目构建生命周期映射”或简称为“生命周期映射”,因为它们定义了m2e如何将信息从项目pom.xml文件映射到Eclipse工作空间项目配置以及Eclipse工作空间构建过程中的行为。

可以在项目pom.xml中指定项目构建生命周期映射配置,该配置由Eclipse插件提供,并且m2e附带的一些常用Maven插件也有默认配置。 我们称这些为“生命周期映射元数据源”。 m2e将为所有在映射元数据源中没有生命周期映射的插件执行创建错误标记,如下所示。

Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-antrun-plugin:1.3:run (execution: generate-sources-input, phase: generate-sources)

m2e使用插件groupId,artifactId,版本范围和目标的组合将插件执行与操作匹配。 可以指示m2e执行插件执行三个基本操作- 忽略执行和委托给项目配置器


#23楼

我在靛蓝和需要从XSD生成Java源代码的项目中遇到了同样的问题。

我可以通过提供缺少的生命周期映射来修复它,如


#24楼

我在Eclipse v3.7(Indigo)和m2eclipse上遇到了与我的Maven插件相同的问题。 通过在插件定义中明确说明执行阶段,可以轻松解决该错误。 所以我的pom看起来像这样:

...
...
org.codehaus.mojo
buildnumber-maven-plugin
1.0
yyyy-MM-dd_HH-mm-ss
*
post-clean
*
create-timestamp
...

#25楼

我在博客文章之后进行了修复。

请遵循“ 呃,……我的项目不再建立 ”一节中的建议。 即使将其用于SpringSource Tool Suite,我也使用它来修复常规的Eclipse安装。 我不必修改我的pom文件。


#26楼

改变中

aspectj-maven-plugin
1.2

进入

aspectj-maven-plugin
1.3

为我解决了问题。


#27楼

  1. 转到帮助>安装新软件...
  2. 使用此

    确保选中“在安装过程中联系所有更新站点以找到所需的软件”。

  3. 安装AJDT m2e配置器

来源: (Andrew Eisenberg)

如果没有安装ADJT,它将自动安装,但是如果没有安装,请首先从“ Indigo更新站点”(根据您的Eclipse版本)安装AspectJ开发工具(ADJT)。

有关更多信息。


#28楼

使用 ,是Sonatype的最新版本。


#29楼

更新m2e之后,我遇到了完全相同的问题,并通过重新安装Eclipse WTP的Maven Integration解决了该问题。

事实证明,我卸载了它,试图将m2e从版本0.x更新到1.x。


#30楼

我按照GUI提示找到任何连接器,然后从SpringSource团队找到了AspectJ Integrator。 安装后就解决了。

转载地址:http://jodnb.baihongyu.com/

你可能感兴趣的文章
hdu3709——Balanced Number(数位dp)
查看>>
Lightoj1140——How Many Zeroes?(数位dp)
查看>>
Lightoj1032——Fast Bit Calculations(数位dp)
查看>>
poj3252——Round Numbers(数位dp)
查看>>
Lightoj1068——Investigation(数位dp)
查看>>
Lightoj1205——Palindromic Numbers(数位dp+回文数)
查看>>
hihoCoder1385——A Simple Job(模拟)
查看>>
hdu1045——Fire Net(二分图+行列匹配)
查看>>
hdu2444——The Accomodation of Students(判断二分图+匈牙利算法)
查看>>
hdu1083——Courses(匈牙利算法)
查看>>
poj2594——Treasure Exploration(闭包+最小路径覆盖)
查看>>
poj3020——Antenna Placement(最小边覆盖)
查看>>
hdu1151——Air Raid(最小路径覆盖)
查看>>
hdu1054——Strategic Game(最小顶点覆盖+邻接表)
查看>>
hdu3829——Cat VS Dog(最大独立集)
查看>>
九月总结——我的丑态(2016.10.9)
查看>>
hdu2255——奔小康赚大钱(二分图最优匹配+KM算法)
查看>>
hdu3488——Tour(有向环覆盖,二分图最佳匹配)
查看>>
poj3177——Redundant Paths(双连通分量)
查看>>
poj3281——Dining(网络流+拆点)
查看>>