2015-01-02 2 views
22

Я добавил код плагина mvn jetty в моем проекте pom.xml.Плагин не найден для префикса 'jetty' в текущем проекте

<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 

Пожалуйста, предложите способ его решения. Спасибо

+0

Попробуйте запустить все команды 'mvn' без sudo. –

+0

Возможный дубликат [Missing Maven Plugin Jetty] (http://stackoverflow.com/questions/10426557/missing-maven-plugin-jetty) – cellepo

ответ

31

Возможно, вам потребуется добавить org.mortbay.jetty в список groupId s по умолчанию.

Так редактировать ваши ${user.home}/.m2/settings.xml соответственно:

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

Цитируя Shortening the Command Line раздел plugin development guide,

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

Посмотрите here для более о том, что groupId s ищутся по умолчанию:

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

, если вы не может найти файл 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.mortbay.jetty</pluginGroup> 
    </pluginGroups> 
</settings> 
0

Вот что работало для меня в многомодульном проекте Maven в Eclipse, :

1 Откройте диалог «Конфигурации запуска».

2.Look в «Базовый каталог:» Действительно ли директория субмодуля вашего WebAPP в или это родительский модуль «s каталог?

3 Если это последний, нажмите кнопку «Рабочее пространство» и выберите каталог подмодуля (webapp).

1

Я выполнял команду в каталоге, в котором был представлен проект, но команда отлично работала после переключения в один каталог вверху, то есть в одном, в котором присутствовали все файлы проекта.

Смежные вопросы

 Смежные вопросы