我在我的项目pom.xml中添加了jetty maven插件代码。
<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
时,我没有找到任何错误并且构建成功,但是当我输入命令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
请提出解决方法。谢谢
您可能需要将org.eclipse.jetty
添加到默认情况下查找的groupId
s列表中。
因此,相应地编辑你的${user.home}/.m2/settings.xml
:
<pluginGroups>
<!-- your existing plugin groups if any -->
...
<pluginGroup>org.eclipse.jetty</pluginGroup>
</pluginGroups>
引用Shortening the Command Line
的plugin development guide部分,
...将您的插件的groupId添加到默认搜索的groupIds列表中。为此,您需要将以下内容添加到$ {user.home} /.m2 / settings.xml文件中:
<pluginGroups> <pluginGroup>sample.plugin</pluginGroup> </pluginGroups>
查看here了解更多关于查找groupId
s默认值的信息:
默认情况下,Maven将搜索groupId org.apache.maven.plugins,以获取执行给定构建所需的插件的prefix-to-artifactId映射。
...
在搜索用户设置中指定的任何插件组后,Maven将始终搜索以下groupId:
- org.apache.maven.plugins
- org.codehaus.mojo
如果在主目录中找不到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>
这对我在Eclipse中的多模块Maven项目中起了作用:
1打开“运行配置”对话框。
2.查看“基本目录:”您的webapp子模块的目录是否真的是父模块的目录?
3如果是后者,请单击“工作区”按钮并选择子模块(webapp)的目录。
我在项目所在的目录中运行命令但是在切换到一个目录之后命令工作正常,即在项目的所有文件都存在的目录中。
请注意:
如果您使用以下命令运行应用程序:
mvn spring-boot:运行
确保您位于包含pom.xml文件的目录中。否则,您将遇到在当前项目和插件组错误中找到前缀'project-name'的No插件。