2011-06-24 7 views
19

Chcę zbudować prosty projekt z wykorzystaniem istniejącego archetypu. Ale nie mogę uruchomić mvn archetype:generate gdyż powtarza mi następujące informacjearchetyp mvn: generowanie nie działa - nie znaleziono wtyczki dla prefiksu "archetyp"

[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] 

używałem MS Windows i nie używać żadnych settings.xml w moim folderze ~/.m2 i wszystkie rzeczy jest nowy. Czy ktokolwiek może mi pomóc to rozgryźć?

Odpowiedz

17

Inną rzeczą, która może się nie udać, jest to, że urządzenie znajduje się za zaporą sieciową lub serwerem proxy, więc twoje pudełko nie może trafić w numer http://repo1.maven.org/maven2. Spróbuj uzyskać dostęp do tego adresu URL bezpośrednio w przeglądarce lub coś, co sprawdzi, czy możesz wysłać żądanie.

+0

Tak, dokładnie to przeszedłem. Muszę skonfigurować kopię lustrzaną centralnego repozytorium w mojej firmie. Dzięki za pomoc! –

+0

Cieszę się, że udało mi się ustalić przyczynę problemu. Moja firma używa Nexusa (http://nexus.sonatype.org/) jako lokalnego zwierciadła Maven Central. Nexus może być skonfigurowany tak, aby pobierał wszystkie artefakty, których nie ma, aby był dostępny w przyszłości, co jest bardzo przydatne, więc nie musisz pobierać wszystkiego naraz. –

+0

@JesseWebb Mam dostęp do http://repo1.maven.org/maven2, , ale wciąż otrzymuję ten sam błąd. Czy to zapora sieciowa powoduje problem? Zmieniłem plik setting.xml, ale nadal nie jest dobry – JavaQuest

14

Komenda powinien być używany do generowania projektu z archetypem jest ...

mvn archetype:generate 

Komenda pan pisał w swoim pytaniu było źle (brakuje pierwszy „e” w archetyp). Zakładam, że jest to po prostu literówka w SO, ponieważ błąd, który wysłałeś, miał poprawnie napisany archetyp.

Wierzę, że ten błąd wystąpi, jeśli próbujesz wykonać to polecenie z katalogu, który już zawiera plik pom.xml. Spróbuje znaleźć konfigurację wtyczki archetypu w istniejącym pliku pom.xml.

Spróbuj ponownie komendę w pustym katalogu lub przynajmniej w pliku, który nie ma pliku pom.xml i powinien działać.

+0

Cześć Gweebz, tak, to był literówka, użyłem mvn archetype: generate, i było w pustym katalogu bez pom.xml, czy to możliwe, że nie mam dostępu do repo1.maven.org/maven2? –

+0

Typo też ... chociaż myślałem, że musisz żartować, ponieważ jeśli źle przeliterujesz flagę (param) dla jakiegokolwiek programu, to powinieneś dać ci "program nieznany". Wygląda na to, że maven ma flagi archtype i archEtype? – luigi7up

+0

Crap :) masz rację! – phoad

9

Jeśli jesteś za zaporą firewall, skonfiguruj ustawienia proxy za pomocą "settings.xml" w katalogu/conf nazwa użytkownika, hasło, host & należy podać wartości portów.

| 
<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> 

2

Kolejny problem z Windows (Vista, Windows 7 dalsza) jest to, że wiersz polecenia powinien być uruchomiony pod uprawnieniami administratora (prawy przycisk myszy wiersza polecenia skrótu i ​​wybierz "Administrator reklam Run" jeśli UAC jest włączony), po prostu uruchom wiersz polecenia jako Administrator przed wykonaniem archetypu mvn: generate.

Napotkałem ten problem podczas tworzenia projektu vaadin 7 w systemie Windows 7 za pomocą następującego polecenia.

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
5

Jest to problem z firewallem. Aby sprawdzić, czy zapora jest włączona:

Kliknij Start-> kliknij Uruchom-> wpisz wscui.cpl -> kliknij OK. W Centrum zabezpieczeń systemu Windows-> kliknij Bezpieczeństwo Jeśli sieć działa Zapora sieciowa jest włączona, musisz ustawić serwer proxy dla urządzenia mobilnego.

Przejdź do/conf -> otwórz ustawienia.xml z notatnika Odkomentuj pełnomocnika (jeśli nie pamięta ustawień proxy u można sprawdzić w przeglądarce internetowej za pomocą 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> 

Możesz zostawić nazwę użytkownika i pwd puste pola i ustawić tylko hosta i portu.

+0

host i port można znaleźć w ustawieniach sieci przeglądarki (ustawienia LAN) – Vishal

0

W moim przypadku rozwiązaniem było po prostu uruchomić archiwa mvn: generuj w trybie awaryjnym pod swoim profilem użytkownika. Potem mogłem uruchomić go w normalnym rozruchu.

1
  • Aby dodać Venerik na odpowiedź chciałbym rozwinąć trochę dla naiwnych użytkowników takich jak ja;

ustawienia proxy w Maven iść do apache-maven-3.3.9 folderu \ conf i znaleźć settings.xml otworzyć go w dowolnym edytorze tekstowym przejść do bloku kodu, który wygląda jak poniżej

<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> 
  • teraz odkomentowaniu kod z proxy (proxy) .../przecinając ją i wklejając go

tuż po (Proxi es).

Teraz zmieniać zgodnie z ustawieniami proxy w moim przypadku wygląda na poniższym

<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> 

Teraz spróbuj uruchomić mvn archetyp: generowanie i należy go uruchomić i pobierz

0

I rozwiązać ten problem wyłączenie antywirusa na kilka chwil podczas tworzenia projektu.

Click here how to do that with avast

0

miałem ten sam problem. Przyczyna główna: typowane generowanie mvn: archetype zamiast archetype: generate.
mvn archetype: generate - is correct way.

+1

To nie jest odpowiedź. –

Powiązane problemy