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

Плагин не найден для префикса 'jetty' в текущем проекте

В моем проекте pom.xml добавлен код плагина mvn 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

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

4b9b3361

Ответ 1

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

Итак, отредактируйте свой ${user.home}/.m2/settings.xml соответственно:

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

Цитирование Shortening the Command Line раздела руководство по разработке плагинов,

... добавьте вашу плагин groupId в список поиска по группам по умолчанию. Для этого вам необходимо добавить следующие ${user.home}/. m2/settings.xml файл:

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

Посмотрите здесь, чтобы узнать о том, что groupId проверено по умолчанию:

По умолчанию Maven будет искать groupId org.apache.maven.plugins для prefix-to-artifactId для плагинов, необходимых для выполнения данная сборка.

...

Maven всегда будет искать следующую группу. после поиска любых групп плагинов, указанных в пользовательских настройках:

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

Ответ 2

если вы не найдете файл settings.xml в своем домашнем каталоге

затем добавьте файл настроек по умолчанию .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>

Ответ 3

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

Ответ 4

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

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

2. Посмотрите на "Базовый каталог": действительно ли существует каталог вашего webapps-подмодуля или он является каталогом родительского модуля s?

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

Ответ 5

Это случилось со мной однажды, потому что вместо

jetty:start

Я (как-то) попробовал

{application-name:start}

И я потерял несколько часов, прежде чем смог понять эту тупую ошибку.