在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
我阅读了[Help1]页面。我在maven配置文件中没有pluginGroup设置,但我有pom.xml中提到的jetty插件,所以我想一切都应该没问题(特别是因为一切都在命令行中工作)。在执行jetty运行配置之前,我尝试在Eclipse中“Run as> Maven clean”,但它没有帮助。项目编译并传递所有测试,只有jetty:run在Eclipse中不起作用。
请帮忙,我是Eclipse& Maven新手。提前谢谢。
答案 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>
注意强>:
答案 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
不要忘记遵循这一重要指示:
转换到新创建的目录,然后执行命令: