我在项目pom.xml中添加了jetty mvn插件代码。
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
<configuration>
<contextPath>/redkites</contextPath>
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>deploy</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
</executions>
</plugin>
当我使用命令sudo mvn compile
和sudo mvn clean install
时,我没有发现任何错误&amp;成功构建,但是当我输入命令sudo mvn jetty:run
时,我收到错误:
[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 (/root/.m2/repository), central (http://repo.maven.apache.org/maven2)] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoPluginFoundForPrefixException
请提出解决方法。谢谢
答案 0 :(得分:38)
您可能需要将org.eclipse.jetty
添加到默认情况下查找的groupId
列表中。
因此,请相应地修改${user.home}/.m2/settings.xml
:
<pluginGroups>
<!-- your existing plugin groups if any -->
...
<pluginGroup>org.eclipse.jetty</pluginGroup>
</pluginGroups>
引用plugin development guide的Shortening the Command Line
部分,
...将您的插件的groupId添加到搜索到的groupId列表中 默认。为此,您需要将以下内容添加到您的 $ {user.home} /.m2 / settings.xml文件:
<pluginGroups> <pluginGroup>sample.plugin</pluginGroup> </pluginGroups>
查看here,详细了解默认查找groupId
的内容:
默认情况下,Maven会搜索groupId org.apache.maven.plugins 它需要执行的插件的prefix-to-artifactId映射 给定版本。
...
Maven将始终搜索以下groupId&#39; s 后搜索用户设置中指定的任何插件组:
- org.apache.maven.plugins
- org.codehaus.mojo
答案 1 :(得分:25)
如果在主目录中找不到settings.xml文件
然后添加默认的settings.xml文件
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>${user.home}/.m2/repository</localRepository>
<interactiveMode>true</interactiveMode>
<usePluginRegistry>false</usePluginRegistry>
<offline>false</offline>
<pluginGroups>
<pluginGroup>org.eclipse.jetty</pluginGroup>
</pluginGroups>
</settings>
答案 2 :(得分:1)
在Eclipse的多模块Maven项目中,这对我有用:
1打开“运行配置”对话框。
2.查看“基本目录:”您的 webapp子模块的目录是还是父模块的目录?
3如果是后者,请单击“工作区”按钮并选择子模块(webapp)目录。
答案 3 :(得分:1)
我在项目所在的目录中运行命令,但是在切换到一个目录后,命令工作正常,即项目中所有文件都存在的目录。
答案 4 :(得分:0)
请注意:
如果使用以下命令运行应用程序:
mvn spring-boot:run
确保您位于包含pom.xml文件的目录中。否则,您将在当前项目和插件组错误中遇到没有为前缀“ project-name”找到的插件。