2013-04-25 13 views
21

Czego potrzebuję zmienne środowiskowe, jeśli ścieżki, które powinny tam być, są już dołączone do mojej zmiennej PATH?Cel zmiennych JAVA_HOME, M2 i M2_HOME

+2

Nie rozumiem. czy mógłbyś spróbować i rozwinąć proszę? – radai

+0

Są one używane do innych aplikacji, aby znaleźć między innymi instalację java (lub M2) w celu porównywania wersji pod kątem zgodności. –

+0

Jak znaleźć * konkretnie * JAVA_HOME, M2 i M2_HOME wewnątrz zmiennej PATH? Jasne, inne programy wymagające tej konkretnej informacji napotkają dokładnie ten sam problem. – BalusC

Odpowiedz

7

JAVA_HOME powinna odnosić się do katalogu, w którym zainstalowana jest Java, który chcesz użyć. Ta zmienna jest często używana przez różne skrypty, dlatego zaleca się jej zdefiniowanie. JAVA_HOME sam nie powinien być dodawany do PATH. Powinieneś dodać , aby móc uruchamiać polecenia z tego katalogu bez określania konkretnej ścieżki.

M2_HOME jest domem Maven. Jest używany przez skrypt mvn (lub mvn.bat w systemie Windows).

+1

Dziwne, dlaczego mvn README nic nie mówi o ustawianiu tej zmiennej podczas instalacji :( – ACV

+1

@ACV, 'JAVA_HOME' jest zmienną środowiskową, wynalezioną i istotną dla środowiska JRE Maven jest narzędziem do kompilacji napisanym w Javie. Zwykle nie spodziewamy się tego każde oprogramowanie, które używa pewnej technologii lub języka programowania, wyjaśni podstawowe informacje o tej technologii w pliku README, to tak, jakby oczekiwać, że instrukcja twojego telewizora będzie zawierała wprowadzenie do prawa Ohma – AlexR

+0

Zabawne, ale o ile pamiętam, "prawo Ohma "był obecny w starszych wersjach programu maven:" 4) Upewnij się, że JAVA_HOME jest ustawione na lokalizację twojego JDK "http://www-eu.apache.org/dist/maven/maven-3/3.3.9/binaries/ apache-maven-3.3.9-bin.zip Dlaczego więc został usunięty? – ACV

7

Ścieżki macierzyste (JAVA_HOME, M2_HOME) nie są obowiązkowe, ale dobrze je mieć. Jedną z korzyści jest:

Pomaga wprowadzać zmiany w jednym miejscu, zamiast wyszukiwać w zmiennej PATH podczas instalowania następnej wersji Java lub Maven. Na przykład JAVA_HOME zmienna środowiskowa poniżej to miejsce, które muszę zmienić po aktualizacji do wersji Java Development Kit 1.8.

Windows environment variable window

5

Chyba nie rozumiesz pojęcie zmiennej środowiskowej. Na początek przeczytaj tutaj ->

to jedna zmienna środowiskowa dobrze znana w wielu systemach operacyjnych (lub powłokach). A to znaczy, że jeśli wpiszesz nazwę programu bez pełnej ścieżki, system operacyjny (lub shell) spróbuje przeszukać wszystkie katalogi określone w zmiennej PATH.

Inne programy mają różne zależności od środowiska. Niektóre z nich określają, jakich zmiennych środowiskowych potrzebują, aby działały poprawnie.

JAVA_HOME jest używany przez wiele aplikacji opartych na technologii Java, aby określić miejsce instalacji Java Runtime Environment (JRE).

M2_HOME jest używany przez Maven i znowu mówi program, gdzie można znaleźć instalacji Maven.

PATH nie jest odpowiedni do tego celu, ponieważ może zawierać wiele katalogów niezwiązanych z Javą lub Maven.

0

Zmienna PATH jest używana do znalezienia aplikacji (pliki wykonywalne i skrypty) oraz biblioteki DLL w systemie Windows. Jeśli wpiszesz "mvn", to PATH zostanie użyta do zlokalizowania pliku wykonywalnego lub skryptu o tej nazwie. To, że skrypt znajduje się w lokalizacji, nie oznacza jednak, że aplikacja jest zainstalowana w tym katalogu. Najprostszym przykładem do opisania jest taki, który istnieje w systemie UNIX. Możesz mieć dowiązanie symboliczne z/usr/local/bin/mvn do lokalizacji, w której maven jest zainstalowany. Można podać inne przykłady/powody.

Zmienne środowiskowe są używane przez aplikację, aby wiedzieć, gdzie szukać innych zasobów, których aplikacja może potrzebować.

Na przykład JAVA_HOME wskazuje na katalog, gdzie JDK można znaleźć. Po uruchomieniu JAVA ta aplikacja wie, że inne zasoby można znaleźć w stosunku do katalogu JAVA_HOME.

Pozwala to aplikacji na przykład C: \ Windows \ System32 \ java istnieć w jednym katalogu, ale instalacja JDK znajduje się gdzie indziej.

To samo dotyczy katalogu M2_HOME, który wskazuje na katalog główny, gdzie MAVEN jest "zainstalowany" (lub rozpakowany).

Katalog M2 określa aplikację maven (mvn), w której należy znaleźć potrzebne repozytoria. Domyślnie (w systemie UNIX) jest $ HOME/.m2, ale możesz nie chcieć tam swojego repozytorium, abyś mógł określić inną lokalizację za pomocą zmiennej środowiskowej M2, a użytkownik użyje tej lokalizacji zamiast domyślnej.

Powiązane problemy