В 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. Спасибо заранее.
Ответ 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
не забывайте следовать этой одной важной инструкции:
Перейдите во вновь созданный каталог и выполните команду: