找不到前缀'码头'在当前的项目中

时间:2015-01-02 05:50:55

标签: maven jetty maven-jetty-plugin

我在项目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 compilesudo 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

请提出解决方法。谢谢

5 个答案:

答案 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 guideShortening 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”找到的插件。