Eclipse中“找不到插件的插件”错误

时间:2011-09-14 09:26:45

标签: eclipse maven jetty

在Eclipse中,我导入了一个使用maven jetty插件的基于maven的项目。如果我从命令行运行mvn jetty:run,一切正常。如果我在Eclipse中添加运行配置并尝试运行它,我会收到错误消息:

[ERROR] No plugin found for prefix 'jetty' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/home/eugene/.m2/repository), central (http://repo1.maven.org/maven2)] -> [Help 1]

在Eclipe运行配置中,我使用:

  • 基本目录:${project_loc}
  • 目标:jetty:run
  • Maven Runtime:外部

我阅读了[Help1]页面。我在maven配置文件中没有pluginGroup设置,但我有pom.xml中提到的jetty插件,所以我想一切都应该没问题(特别是因为一切都在命令行中工作)。在执行jetty运行配置之前,我尝试在Eclipse中“Run as> Maven clean”,但它没有帮助。项目编译并传递所有测试,只有jetty:run在Eclipse中不起作用。

请帮忙,我是Eclipse& Maven新手。提前谢谢。

5 个答案:

答案 0 :(得分:20)

它也不能从命令行对我有用。

settings.xml documented中添加以下内容后,您是否可以检查它是否有效?

<pluginGroups>
    <pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>

另请注意,该插件有两个不同版本 - 较早的maven jetty plugin和较新的jetty maven plugin

答案 1 :(得分:10)

我也遇到了这个问题,解决这个问题的一种更简单的方法是编辑你的pom.xml,添加以下插件:

<project>
  ...
  <build>
    <plugins>
      ...
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>7.6.8.v20121106</version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

注意

  1. jetty-maven-plugin用于jetty版本7及更高版本,如果你想要jetty版本6,你应该使用maven-jetty-plugin

  2. 对于该版本,您可能需要查看herehere以获取所需版本的全名。

答案 2 :(得分:4)

我为浪费你的时间而道歉。现在我查看运行配置后在Eclipse控制台中出现的maven警告。我注意到了

  

[警告]无法检索插件[org.mortbay.jetty:maven-jetty-plugin]的插件描述符:null

因此很明显为什么它无法识别jetty:前缀。上面几行我看到了一堆关于缺少插件版本的警告。所以我为pty.xml中的jetty插件(<version>条目)添加了一个版本规范,它解决了这个问题。我忘记了一个常见的规则,即如果出现问题,首先要检查的是警告。

答案 3 :(得分:4)

导入一个appengine项目后,我在eclipse中遇到了这个问题。

目标:

mvn appengine:devserver

错误:

[ERROR] No plugin found for prefix 'appengine' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/averasko/.m2/repository), central (http://repo.maven.apache.org/maven2)] -> [Help 1]

问题出在eclipse 运行配置中的基目录中。当maven没有看到 pom.xml 文件时,如果失败就会被要求运行一些非标准目标,因为它对定义目标的插件一无所知。

解决方案是将基目录更正为 pom.xml 文件所在的位置。

答案 4 :(得分:3)

如果你学习本教程:

  

http://tapestry.apache.org/creating-the-skeleton-application.html

不要忘记遵循这一重要指示:

  

转换到新创建的目录,然后执行命令: