2015-01-02 17 views
22

Ich habe in meinem Projekt pom.xml jetty mvn plugin code hinzugefügt.Kein Plugin für das Präfix "Jetty" im aktuellen Projekt gefunden

<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> 

Wenn ich Befehle verwenden sudo mvn compile und sudo mvn clean install, ich habe keine Fehler finden & bauen erfolgreich, aber wenn ich den Befehl sudo mvn jetty:run geben, ich erhalte eine Fehlermeldung:

[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 

Bitte vorschlagen ein Weg, es zu lösen. Danke

+0

Versuchen Sie, alle 'mvn' Befehle ohne Sudo auszuführen. –

+0

Mögliches Duplikat von [Missing Maven Plugin Jetty] (http://stackoverflow.com/questions/10426557/missing-maven-plugin-jetty) – cellepo

Antwort

31

Sie müssen org.mortbay.jetty zu der Liste von groupId s standardmäßig nachschlagen.

So bearbeiten Sie Ihre ${user.home}/.m2/settings.xml entsprechend:

<pluginGroups> 
    <!-- your existing plugin groups if any --> 
    ... 
    <pluginGroup>org.mortbay.jetty</pluginGroup> 
</pluginGroups> 

den Shortening the Command Line Abschnitt des plugin development guide Zitiert,

... add your plugin's groupId to the list of groupIds searched by default. To do this, you need to add the following to your ${user.home}/.m2/settings.xml file:

<pluginGroups> 
    <pluginGroup>sample.plugin</pluginGroup> 
</pluginGroups> 

Blick here für mehr über das, was groupId s Standard nachgeschlagen werden:

By default, Maven will search the groupId org.apache.maven.plugins for prefix-to-artifactId mappings for the plugins it needs to perform a given build.

...

Maven will always search the following groupId's after searching any plugin groups specified in the user's settings:

  • org.apache.maven.plugins
  • org.codehaus.mojo
23

, wenn Sie nicht die settings.xml-Datei in Ihrem Home-Verzeichnis

fügen Sie dann den Standard 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.mortbay.jetty</pluginGroup> 
    </pluginGroups> 
</settings> 
0

Das ist, was für mich in einem multimodularen Maven-Projekt in Eclipse gearbeitet :

1 Öffnen Sie das Dialogfeld "Konfigurationen ausführen".

2.Look an der „Basis-Verzeichnis:“ Gibt es wirklich das Verzeichnis Ihrer Webapp des Submodul oder ist es das Elternmodul ‚s-Verzeichnis?

3 Wenn es Letzteres ist, klicken Sie auf "Arbeitsbereich" und wählen Sie das Verzeichnis des Submoduls (Webapps).

1

Ich habe den Befehl in dem Verzeichnis ausgeführt, in dem das Projekt vorhanden war, aber der Befehl funktionierte nach dem Wechsel in das eine Verzeichnis, d. H. In einem, in dem alle Dateien des Projekts vorhanden waren.