Подтвердить что ты не робот

Ошибка "Plugin not found for prefix" в Eclipse

В Eclipse я импортировал проект на основе maven, в котором используется плагин maven для приставок. Если я запускаю mvn jetty:run из командной строки, все работает нормально. Если я добавлю конфигурацию запуска в Eclipse и попытаюсь запустить ее, я получаю сообщение об ошибке:

[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 (/home/eugene/.m2/repository), central (http://repo1.maven.org/maven2)] -> [Help 1]

В конфигурации запуска Eclipe я использую:

  • Базовый каталог: ${project_loc}
  • Цель: jetty:run
  • Maven Runtime: Внешний

Я прочитал страницу [Help1]. У меня нет настроек pluginGroup в конфигурационных файлах maven, но у меня есть плагин для приставок, упомянутый в pom.xml, поэтому я думаю, все должно быть хорошо (особенно потому, что все работает в командной строке). Я попытался "Запустить как > Maven clean" в Eclipse, прежде чем выполнить конфигурацию запуска причала, но это не помогло. Проект компилирует и передает все тесты, только причал: запуск не работает в Eclipse.

Пожалуйста, помогите, я новичок Eclipse и Maven. Спасибо заранее.

4b9b3361

Ответ 1

Это не работает для меня из командной строки.

Можете ли вы проверить, работает ли это после добавления в settings.xml в качестве документально?

<pluginGroups>
    <pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>

Также обратите внимание, что существуют две разные версии плагина: более старый плагин maven для причала и новый плагин для приманки maven.

Ответ 2

Я тоже встретил эту проблему, более простой способ решить эту проблему - отредактировать ваш pom.xml, добавить следующий плагин:

<project>
  ...
  <build>
    <plugins>
      ...
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>7.6.8.v20121106</version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

Примечание

  • jetty-maven-plugin используется для причала версии 7 и выше, если вы хотите использовать причал версии 6, вы должны использовать maven-jetty-plugin

  • для версии, вы можете посмотреть здесь и здесь для полное имя вашей желаемой версии.

Ответ 3

Я извиняюсь за то, что трачу ваше время. Теперь я просмотрел предупреждения maven, появившиеся в консоли Eclipse после запуска конфигурации запуска. Я заметил

[WARNING] Не удалось получить дескриптор плагина для плагина [org.mortbay.jetty: maven-jetty-plugin]: null

поэтому стало очевидным, почему он не смог распознать префикс jetty:. Пара строк выше я увидел кучу предупреждений о недостающих версиях плагина. Поэтому я добавил спецификацию версии для плагина причал (<version> entry в pom.xml), и он решил проблему. Я забыл общее правило, что если что-то ломается, первое, что нужно проверить, это предупреждения, которые вы получаете.

Ответ 4

У меня возникла эта проблема в eclipse после импорта проекта appengine.

Цель:

mvn appengine:devserver

Ошибка:

[ERROR] No plugin found for prefix 'appengine' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/averasko/.m2/repository), central (http://repo.maven.apache.org/maven2)] -> [Help 1]

Проблема была в неправильном базовом каталоге в конфигурации запуска eclipse . Когда maven не видит файл pom.xml и ему предлагается запустить нестандартную цель, если это не так, поскольку он ничего не знает о плагине, который определяет цель.

Решение состоит в том, чтобы скорректировать базовый каталог везде, где находится ваш pom.xml файл.

Ответ 5

если вы следуете этому руководству:

http://tapestry.apache.org/creating-the-skeleton-application.html

не забывайте следовать этой одной важной инструкции:

Перейдите во вновь созданный каталог и выполните команду: