【问题标题】:"Plugin not found for prefix" error in EclipseEclipse 中的“找不到前缀的插件”错误
【发布时间】:2013-07-03 06:40:12
【问题描述】:

在 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 (@987654321@ -> [Help 1]

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

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

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

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

【问题讨论】:

  • 你试过用插件全名maven-jetty-plugin吗?
  • 你的意思是用它作为目标前缀maven-jetty-plugin:run?它在 Eclipse 和命令行中都不起作用
  • 对了,我找到了解决办法。我在下面添加了自己的答案。

标签: eclipse maven jetty


【解决方案1】:

它也不适用于命令行。

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

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

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

【讨论】:

  • 在项目中使用的是较旧的(maven jetty 插件)。提供settings.xml没有用,但我找到了问题的原因(我现在添加一个答案)
  • maven.apache.org/settings.html,Maven以jetty-maven-plugin为例,展示了一个自定义的settings.xml。
  • 所有 Codehaus 服务已终止,链接已断开。
【解决方案2】:

我也遇到了这个问题,更简单的解决方法是编辑你的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 以获得所需版本的全名。

【讨论】:

    【解决方案3】:

    对于浪费您的时间,我深表歉意。现在,我查看了运行运行配置后出现在 Eclipse 控制台中的 Maven 警告。我注意到了

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

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

    【讨论】:

    【解决方案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 文件所在的位置。

    【讨论】:

      【解决方案5】:

      如果您遵循本教程:

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

      不要忘记遵循这一重要说明:

      进入新创建的目录,执行命令:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-30
        • 1970-01-01
        • 2023-03-04
        • 2019-11-25
        • 2018-01-29
        • 2016-11-25
        • 2019-08-09
        相关资源
        最近更新 更多