2013-08-09 6 views
5

Właśnie odkryłem, dlaczego Maven nie działa poprawnie na moim komputerze. Z jakiegoś powodu odczytuje konfigurację użytkownika z całkowicie niewłaściwej lokalizacji. I nie rozumiem dlaczego. Kiedy uruchomić Maven z przełącznikiem -X pojawia się następujący komunikat na początku:Maven czyta konfigurację użytkownika z niewłaściwej lokalizacji

[DEBUG] Reading global settings from D:\dev\maven\active\conf\settings.xml 
[DEBUG] Reading user settings from D:\.m2\settings.xml 
[DEBUG] Using local repository at D:\dev\maven_repo 

Dlaczego czytanie ustawień użytkownika z D:\.m2 a nie mojego aktualnego katalogu użytkownika jak to normalnie powinno? To działało dobrze na moim starym komputerze. Czy to ma coś wspólnego z tym, że tym razem zainstalowałem maven na innym dysku? Na moim starym komputerze został zainstalowany na dysku C.

Gdzie to dostać ten D:\.m2 od? Jak mogę go odczytać plik ustawień użytkownika z rzeczywistej domyślnej lokalizacji, %userprofile%\.m2?

+1

Co oznacza "echo% HOMEPATH%"? –

+3

Jaką wersję maven (2 lub 3)? Jaka jest wartość twojej zmiennej env M2_HOME, jeśli jest ustawiona? – Michael

+0

Maven 3, 'M2_HOME' =' D: \ dev \ java \ active' – Svish

Odpowiedz

6

W końcu to. Znaleziono rozwiązanie w wersji this blog post. Aby znaleźć katalog domowy w Javie to zrobić:

System.getProperty("user.home"); 

Problem jest z jakiegoś głupiego powodu, Java jest nie za pomocą zmiennych środowiska Windows lub coś podobnego, aby znaleźć tę ścieżkę. W rzeczywistości używa katalogu nadrzędnego katalogu Desktop. Ponieważ lubię przechowywać pewne foldery główne w moim katalogu użytkownika na oddzielnym dysku (dokumenty, pliki do pobrania, muzyka, komputer itp.), Przeniosłem katalog pulpitu na D:\Desktop. Java pobiera ten katalog, idzie o jeden poziom wyżej i sprawia, że ​​Maven i inne aplikacje java to mój katalog domowy.

Muszę powiedzieć, tym bardziej używam Java bardziej ja go nienawidzę ... W każdym razie, mam nadzieję, że to może pomóc zaoszczędzić kilka godzin zarysowania głowy kogoś innego też.

Powiązane problemy