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, и все это совершенно новое. Может ли кто-нибудь помочь мне разобраться?
Ответы
Ответ 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
Ответ 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 - правильный путь.