it-swarm.dev

Maven M2_HOME ustawiony na nieprawidłowy katalog (Windows 7)

Próbowałem zainstalować Maven na Windows 7 ze słabymi wynikami. Niektóre podstawowe informacje:

Katalog instalacyjny Maven: C:\Program Files\Apache Software Foundation\Apache-maven-3.0.4 Zmienna systemowa „M2_HOME”: C:\Program Files\Apache Software Foundation\Apache-maven-3.0.4\ Zmienna systemowa „Path”: %M2_HOME%Apache-maven\src\bin;%Java_HOME%\bin

Jeśli uruchomię mvn --version w ścieżce polecenia, pojawi się komunikat o błędzie:

Ustaw zmienną M2_HOME w swoim środowisku, aby pasowała do lokalizacji instalacji Maven

W tej chwili podkatalog dla mvn nie jest ustawiony zgodnie z instrukcjami, które byłyby %M2_HOME%\bin. Jeśli zastąpię %M2_HOME%Apache-maven\src\bin tą, otrzymam:

mvn nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy

W katalogu instalacyjnym Maven (lub w pliku Zip) nie ma folderu \bin bezpośrednio w Apache-maven-3.0.4 i zastanawiam się, czy powinien istnieć jeden?

Jestem kompletnym nowicjuszem w Maven, mam nadzieję, że możecie pomóc.

Przy okazji, polecenie Java działa z dowolnego katalogu, więc nie sądzę, aby to było problemem, ale nie mogę być tego pewien.

16
MikkoP

Jeśli pobrany pakiet Apache-maven-3.3.9 nie zawiera folderu bin, pobieranie jest nieprawidłowe. musisz pobrać plik Zip, który zawiera bin, boot, conf, folder lib, w przeciwnym razie coś poszło nie tak. Pobrany plik powinien mieć rozmiar około 4,8 MB. Możesz sprawdzić plik za pomocą sum kontrolnych md5 lub SHA1.

18
khmarbaise

W M2_HOME - set C:\Apache-maven-3.0.4 i.e. path without bin. W PATH - ustaw %M2_HOME%\bin tj. Z bin w ścieżce.

37
Achraj

W 3.3.1 pliki * .bat zniknęły i pozostały tylko pliki * .cmd. .CMD są takie same jak .BAT i niektóre programy ich oczekują. Zmieniłem nazwę .CMD na .BAT, aby działał pod Netbeans. To spowodowało, że „Maven M2_HOME został ustawiony na nieprawidłowy katalog”. Kopiowanie .BAT na .CMD (tj. Oba znajdowały się w folderze) rozwiązało problem.

18
TomS

W moim przypadku konfiguracja była poprawna:

Zmienne systemu Windows:

  • M2 C: oprogramowanie dev Apache-maven-3.3.9 bin
  • M2_HOME C: dev oprogramowanie Apache-maven-3.3.9

Zmienne użytkownika systemu Windows:

  • % M2_HOME% 

Ale miałem ten sam problem, gdy był dwa instalacja maven, chociaż wszystkie odwołania wskazywały na najnowszą wersję, która w moim przypadku była 3.3.9. Po usunięciustarszej wersjitej samej komendy rozpoznano maven.

PRZED:

maven -v
ERROR: M2_HOME is set to an invalid directory.
M2_HOME = "C:\dev\software\Apache-maven-3.3.9"
Please set the M2_HOME variable in your environment to match the
location of the Maven installation

PO:

maven -v
Apache Maven 3.3.9
Maven home: C:\dev\software\Apache-maven-3.3.9
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_51\jre
11
Ithar

Musisz pobrać plik Maven o nazwie „Binary Zip”. Na przykład: http://mirrors.digipower.vn/Apache/maven/maven-3/3.1.1/binaries/Apache-maven-3.1.1-bin.Zip

5
Tai Nguyen

Mam ten sam problem na moim komputerze i rozwiązałem go:

  • Usunąłem katalog Maven i zmienne środowiskowe Maven
  • Pobrałem binarne archiwum Zip na https://maven.Apache.org/download.cgi
  • Rozpakowałem go na C:\maven
  • Dodałem nową zmienną środowiska: C:\maven w M2_HOME, %M2_HOME%\lib w M2 i %M2% dodaną w PATH

I to działa!

2
romainb78

Pozbądź się zmiennej env M2_HOME. Nie jest używany przez Maven 3, a właściwie myli go. Jeśli użyłeś go na swojej ścieżce, albo zdefiniuj ścieżkę do bin maven, albo zmień ją na coś innego - jak M3_HOME.

1
rhinmass

Dla mnie zmienna PATH miała starą wersję maven. Więc zaktualizowałem to. Powinienem użyć% M2_HOME%, ale podałem ścieżkę.

1
user6078975

Właśnie teraz miałem do czynienia z tym samym problemem . W moim przypadku problem polegał na tym, że PATH nie został poprawnie ustawiony na %M2_HOME%\bin. Po poprawnym ustawieniu problem został rozwiązany.

Gdy napotkasz takie problemy, wydrukuj wartość zmiennej PATH w wierszu poleceń, aby upewnić się, że poprawnie zbiera wartości. 

1
sonikan

Dodaj całą lokalizację bin do zmiennej środowiskowej "PATH" Ex: C: Program files Apache Software Foundation Apache-maven-3.0.4

Nie ma potrzeby M2_HOME, M2. To działało dla mnie

Microsoft Windows [wersja 10.0.14393] (C) 2016 Microsoft Corporation. Wszelkie prawa zastrzeżone.

C: Użytkownicy XXXX> mvn -version Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T22: 11: 47 + 05: 30) Maven home: C: Program Files Apache Software Foundation Apache-maven-3.3.9 bin .. Wersja Java: 1.8.0_91, dostawca: Oracle Corporation Java home: C: Program Files Java jdk1.8.0_91 jre Domyślne ustawienia regionalne: en_US, kodowanie platformy: Cp1252 Nazwa systemu operacyjnego: „windows 10”, wersja: „10.0”, Arch: „AMD64”, rodzina: „dos”

0

ustaw 'M2_HOME' i 'PATH' w zmiennych środowiskowych swojego konta, usuń 'PATH' ze zmiennych środowiskowych systemu.

0

Cały sukces po kolejnych krokach.

  1. Na http://maven.Apache.org/download.cgi strona z 4 wariantów wymaga pliku download binary.

  2. Ustaw zmienną środowiskową (wskazówka z @JamesB - https://stackoverflow.com/a/13093358/3941340 ):

Java_HOME = C: Pliki programowe Java jkk1.6.0_35

MAVEN_HOME = D: oprogramowanie Apache-maven-3.0.4

PATH =% PATH%;% MAVEN_HOME% bin;% Java_HOME% bin

  1. Uruchom mvn -version
0
Kosmos

Sprawdź zmienną systemową M2_HOME i PATH w różnych lokalizacjach maven.

0
Ishara Samantha

Miał starą wersję MVN w innym katalogu, który pojawił się w ścieżce wyszukiwania. Usunięto starą wersję i wszystko działało. Wyszukiwanie plików używanych okien w celu przeskanowania dysku w poszukiwaniu wszystkich wystąpień „mvn” w celu znalezienia starej wersji.

0
mark

Szybka odpowiedź
Na podstawie problemów z użyciem M2_HOME związanych z różnymi zainstalowanymi wersjami Maven i uproszczeniem rzeczy, użycie M2_HOME zostało usunięte i nie jest już obsługiwane. Kolejna ważna zmiana dla użytkowników systemu Windows: użycie% HOME% zostało zastąpione przez% USERPROFILE%

Bardziej szczegółowa odpowiedź
To, co zaobserwowałeś, zawsze było problemem z Mavenem. Po zainstalowaniu dwóch różnych wersji w tym samym katalogu wykrywana jest starsza wersja, podczas gdy nowsza nie jest.
Po wydaniu Maven 3.3.9 projekt Eclipse Aether został wycofany, a baza kodu została przeniesiona do projektu Apache Maven. Pierwotnym celem wydania 3.4.0 było zastąpienie Aether dokładnie tym samym kodem po migracji do projektu Apache Maven, a następnie poprawianie błędów w kodzie resolvera i innych obszarach Maven. To nigdy nie wydarzyło się tak, jak zamierzano, i podjęto decyzję, aby na zawsze spalić linię wydania 3.4.x. Przełącznik na 3.5 przyniósł ze sobą te zmiany

0
mainas

Może istnieć możliwość posiadania innej wersji instalacji Maven w równoległej lokalizacji .. W takim przypadku usuń niechcianą i zresetuj odpowiednią ścieżkę do M2_HOME.

0