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

Mvn archetype: generate не работает - не найден плагин для префикса 'archetype'

Я хочу создать простой проект с использованием существующего архетипа. Но я не могу запустить mvn archetype:generate, поскольку он продолжает рассказывать мне следующую информацию

[ERROR] No plugin found for prefix 'archetype' in the current project and in the
 plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the
repositories [local (C:\Documents and Settings\ccen\.m2\repository), central (ht
tp://repo1.maven.org/maven2)] -> [Help 1]

Я использовал MS Windows и не использовал никаких settings.xml в моей папке ~/.m2, и все это совершенно новое. Может ли кто-нибудь помочь мне разобраться?

4b9b3361

Ответ 1

Другая проблема, которая может пойти не так, заключается в том, что ваш компьютер находится за брандмауэром или прокси-сервером, поэтому ваш ящик не может попасть в http://repo1.maven.org/maven2. Попробуйте получить доступ к этому URL прямо в браузере или что-то проверить, если вы можете сделать запрос.

Ответ 2

Команда, которую вы должны использовать для создания проекта с архетипом,...

mvn archetype:generate

Команда, которую вы отправили в своем вопросе, была неправильной (отсутствует первый "e" в архетипе). Я предполагаю, что это только опечатка в SO, хотя из-за ошибки, которую вы опубликовали, был правильно задан архетип.

Я считаю, что эта ошибка возникнет, если вы попытаетесь выполнить эту команду из каталога, в котором уже есть файл pom.xml. Он попытается найти конфигурацию плагина архетипа в существующем файле pom.xml.

Попробуйте снова выполнить команду в пустом каталоге или, по крайней мере, в одном, у которого нет файла pom.xml, и он должен работать.

Ответ 3

Если вы находитесь за межсетевым экраном, настройте настройку прокси-сервера, используя "settings.xml" в каталоге /conf необходимо указать имя пользователя, пароль, хост и порт.

 |
<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username>proxyuser</username>
  <password>proxypass</password>
  <host>proxy.host.net</host>
  <port>80</port>
  <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>

Ответ 4

Это проблема с вашим брандмауэром. Чтобы проверить, включен ли брандмауэр:

Нажмите "Пуск" → "Выполнить" → введите wscui.cpl → нажмите "ОК". В Центре безопасности Windows → щелкните Безопасность Если сетевой сетевой брандмауэр работает "on", вам необходимо установить прокси-сервер для maven.

Перейдите в /conf → откройте settings.xml с помощью блокнота uncomment proxy (если вы не помните настройки прокси-сервера, вы можете проверить использование веб-браузера u r)

<proxies>
    <proxy>
        <id>optional</id>
        <active>true</active>
        <protocol>http</protocol>
        <username></username>
        <password></password>
        <host>www-proxy.us.oracle.com</host>
        <port>80</port>
        <nonProxyHosts></nonProxyHosts>
    </proxy>
</proxies>

Вы можете оставить поля имени пользователя и pwd пустым и установить только хост и порт.

Ответ 5

Еще одна проблема с Windows (Vista, Windows 7 onward) заключается в том, что командная строка должна запускаться под правами администратора (щелкните правой кнопкой мыши по командной строке и выберите "Запустить администратора объявлений", если UAC включен), поэтому просто запустите командную строку как Администратор перед выполнением mvn archetype: сгенерируйте.

Я столкнулся с этой проблемой при создании проекта vaadin 7 под Windows 7, используя следующую команду.

mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=7.1.8 -DgroupId=im.sma.testproject -DartifactId=testproject -Dversion=1.0 -Dpackaging=war
  • SMA

Ответ 6

  • Чтобы добавить ответ Venerik, я бы немного подумал о таких наивных пользователях, как я;

настройки прокси-сервера в maven перейдите в папку apache-maven-3.3.9\conf и найдите settings.xml открыть его в любом текстовом редакторе перейдите в блок кода, который выглядит ниже

 <proxies>
<!-- proxy
 | Specification for one proxy, to be used in connecting to the network.
 |
<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username>proxyuser</username>
  <password>proxypass</password>
  <host>proxy.host.net</host>
  <port>80</port>
  <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
-->
 </proxies>
  • Теперь раскомментируйте код из (прокси.../proxy), разрезав его и вставка его

сразу после (прокси).

Теперь измените настройки в соответствии с настройками прокси-сервера В моем случае это выглядит следующим образом

<proxies>
  <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>      
      <host>authproxy.serc.iisc.ernet.in</host>
      <port>3128</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
  </proxy>
  <!-- proxy
     | Specification for one proxy, to be used in connecting to the      network.
 |
   -->
  </proxies>

Теперь попробуйте запустить mvn archetype: generate, и он должен запускаться и загружать

Ответ 7

Получил ту же проблему с Maven 3. Я только что обновил с JDK7 до JDK8, и проблема была решена

Ответ 8

В моем случае решение было просто запущено mvn archtype: сгенерируйте в безопасном режиме под своим профилем пользователя. После этого я мог запустить его в обычном ботинке.

Ответ 9

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

Click here how to do that with avast

Ответ 10

Если это предупреждение сопровождается предупреждением:

Received fatal alert: protocol_version

Тогда проверьте свою версию Java. Я смог решить эту проблему, обновив версию Java с 7 до 10. См. Следующее:

https://github.com/technomancy/leiningen/issues/2364

Ответ 11

Я сталкиваюсь с той же проблемой при использовании maven 3.6.1 с jdk 1.7.40.

Чтобы решить эту проблему, я просто обновляю свою версию JDk до 1.8.241.

Я надеюсь, что это поможет вам.

Ответ 12

У меня была такая же проблема. Основная причина: введите mvn generate: archetype вместо archetype: generate.
mvn archetype: generate - правильный путь.